众说周知,ArcSDE空间数据库引擎提供了两种链接数据库的方式。一是服务链接方式,一是直连方式。后者也是Esri所推崇的方式。可是,在客户的生产环境和开发商的开发环境中这两种方式都是有需求的。下面就以截图说明的形式跟你们分享下在ArcGIS10.0和10.1中安装和配置空间数据库引擎的通常流程和注意事项。html
1.直连方式数据库
Esri之因此推荐使用直连方式,就是由于直连方式有明显的优点,能够给客户带来更大的效率和价值。服务器
a.直连方式的主要优点:并发
A.直连方式较服务链接方式卸载了20%-40%的负载;oracle
B.直连方式下降了服务器端内存的需求;app
C.直连方式处理速度更快,在客户机上执行处理;tcp
D.不须要安装ArcSDE软件。
b.直连配置需求函数
上面也说过了,直连方式省去了ArcSDE软件的安装步骤。可是它却须要安装相应的数据库客户端,后面都以Oracle11gR2为例。确保Oracle数据安装配置正确后,须要知道sys用户密码、端口号、实例名、服务名。工具
c.配置流程测试
A.安装和配置Oracle客户端(32)
对于ArcGIS Desktop链接来讲,目前都须要安装Oracle11gR2的客户端,固然可使用对应版本的免安装客户端,只不过须要手动配置环境变量而已。
若是是安装完database后,再安装的client,那么环境变量不须要手动修改。其内容以下:
E:\app\weihu\product\11.2.0\client_1\bin;E:\app\weihu\product\11.2.0\dbhome_1\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\ArcGIS\ArcSDE\ora11gexe\bin
而后,须要使用客户端的NetManager工具配置服务名,以下图的arcsde。
对于免安装的客户端,须要手动配置network/admin下的tnsnames.ora文件。
B.ArcGIS Desktop链接参数设置
完成Oracle客户端安装后,就能够在ArcGIS桌面中进行链接了,其设置参数和链接方式在ArcGIS Desktop不一样版本稍有区别。
a.ArcGIS Desktop10.1
10.1中在ArcCatalog里面的数据库链接中添加空间数据库链接,如上图。指定参数数据类型、实例(\\ip:port\servicename 能够参考左下角的Abort Database Connections)、认证。
b.ArcGIS Desktop10.0
直连方式在10.1与10.0中差别较小,注意相关参数,主要是机器(ip)、服务(sde:oracle11g:服务名[arcsde:使用客户端配置的参数])、认证相同,如上图。
2.服务链接方式
对于不少实施人员来讲,他们的应用可能比较简单,须要考虑的主要是实施部署的便捷。那么服务链接的优点就体现出来了。不须要客户端安装和配置。
对于服务链接方式,都须要安装ArcSDE for对应数据库版本的软件包。这个在ArcGIS10.1和ArcGIS10.0中差异较大。
A. ArcGIS10.1中ArcSDE的安装与配置:
找到对应数据类型和版本的软件安装包安装便可,没有Post Install的向导。在软件安装完成后来使用命令建立sde服务。
找到ArcSDE安装目录下的service.sde文件取消esri_sde 5151/tcp前面的#号注释。
同时,找到Windows中的service(system32/drivers/etc)文件添加一行esri_sde 5151/tcp。
而后使用命令sdeservice建立sde服务,以下图,参数包括数据库类型、实例名称、sde用户密码、服务名等。
服务配置成功后,就能够在ArcGIS Desktop中连使用服务链接了。可是10.1中服务链接须要使用工具建立链接文件,而后链接,而不能像10.0中直接使用服务名或者5151链接。
使用Workspace工具箱中的Create ArcSDE Connection File工具来建立链接文件。
参数:链接文件存放位置、文件名、机器、服务名称(esri_sde)、数据库名、认证等。
上图双击或者使用添加数据按钮指定到该文件,就可在ArcGIS Desktop10.1中完成空间数据库的服务链接。
B.ArcGIS10.0中ArcSDE的安装与配置:
在ArcSDE10.0中提供了Post Install的向导,更能体现服务链接的便捷。向导能够完成的配置以下图:
初次安装选择所有,而后下一步能够实现Oracle数据库链接检查(确保实例运行正常)。
接下来,能够设置sde的用户名和密码,建立sde表空间。
而后,设置服务名、端口号、机器名,Oracle实例名等,以下图。
按照Post Inatall向导设置参数,最后完成受权,这样就完成10.0环境的服务链接安装与配置。不须要使用命令行建立服务,直接能够在ArcGIS Desktop中设置参数就能够链接了。
在ArcGIS10.0中服务方式链接和直连均可以使用ArcCatalog中空间数据库链接的节点,设置参数进行链接,惟一不一样就是服务参数。服务链接输入esri_sde或者5151便可,直连须要输入sde:oracle11g:arcsde,具体能够对比相关截图。
ST_Geometry是一种遵循ISO和OGC规范的,能够通SQL直接读取的空间信息存储类型。采用这种存储方式可以更好的利用Oracle的资源,更好的兼容Oracle的特征。Esri的ArcSDE9.2开始支持这种存储类型。
A.ST_Geometry主要优点
ST_Geometry的优点主要体如今如下几个方面:
A.能够经过SQL函数直接访问空间数据;
B.使用SQL语句操做空间数据能够和其余类型数据同样便捷;
C.能够经过存储过程来进行复杂的空间数据检索和分享;
D.其余业务系统能够经过SQL语句来访问Geodatabase中的数据;
ST_Geometry配置的方式
值得注意的是在配置ST_Geometry时,须要根据数据库的版本和位数来安装对应版本的ArcSDE软件(好比Oracle是Win64_11gR2_database,就须要安装ArcSDE for Oracle 11g64位软件)。主要是包括配置须要引用的动态库(st_shapelib.dll、pe.dll、sg.dll)。
官网给出了两种配置方式:
http://support.esri.com/en/knowledgebase/techarticles/detail/38043
相关信息:
A. 配置listener.ora和tnsnames.ora文件方式;
在保证数据库监听配置正常的状况下,添加如下信息。
首先,在Oracle的安装目录下(%ORACLE_HOME%\Network\Admin\)找到tnsnames.ora文件;添加EXTPROC_CONNECTION_DATA信息以下:
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
其次,找到(%ORACLE_HOME%\Network\Admin\)下的listener.ora在SID_LIST_LISTENER下添加:
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = EXTPROC)
(ENVS = "EXTPROC_DLLS=C:\ArcSDE\ora11gexe\bin\st_shapelib.dll,PATH=C:\ArcSDE\ora11gexe\bin")
注:
A.路径中最好不要有空格;
B.以上配置须要注意两个文件listener.ora和tnsnames.ora中的SID和KEY一致。
否则会出现以下错误提示:
确保配置正确后,重启Oracle监听(lsnrctl stop、 lsnrctl start);
最后,经过命令测试ST_Geometry配置是否正常。
SQL> select * from user_libraries;来检查st_shapelib.dll的位置配置。
若是不是正确的dll路径(还有对应位数64/32)能够经过如下命令修改:create or replace library ST_SHAPELIB as 。
以上命令仅能说明dll位置配置是否正确,可否正常工做应该经过SQL函数来判断:
如上图,ST_ASTEXT函数可以正确输出信息,说明ST_Geometry配置成功。
在Oracle的安装目录下,找到%ORACLE_HOME%\hs\admin\下的extproc.ora文件,设置SET EXTPROC_DLLS参数。
EXTPROC_DLLS=ONLY:C:\\ArcSDE\\ora11gexe\\bin\\st_shapelib.dll或者EXTPROC_DLLS=ANY。须要注意的是后者须要拷贝st_shapelib.dll、pe.dll、sg.dll三个库文件到Oracle安装目录(%ORACLE_HOME%\BIN)下。检查方法同上。
对于开发商或者用户来讲,他们除了作好空间数据库的配置外。还会牵扯数据组织以及服务发布等问题。在ArcGIS Server10.1中提供了空间数据库和文件夹注册的功能。其实,文件夹的注册就相似于ArcGIS Server10.0中咱们须要设置数据存储目录,共享而且设置权限来进行数据的组织。Server10.1中注册数据库和文件夹还有一个做用就是知足生产数据和发布服务数据一致的需求。在不注册的状态下,发布服务时,会将服务相关数据上传到GIS服务器,这样不只增长存储空间,尤为是影像数据。并且会延长服务发布的时间。所以,咱们通常推荐将GIS数据组织在注册过的文件夹或者空间数据库中来,提升工做效率。ArcGIS Server10.1中注册数据库和文件夹的方式有桌面端和Manager网页端两种。
A.桌面的服务器链接属性设置:
在ArcGIS桌面的ArcCatalog中有GIS服务器链接的节点,点击能够添加GIS服务器,在GIS服务器的链接上右键属性能够打开下面的对话框,在Data Store中能够注册数据库和文件夹,并验证。
B.ArcGIS Server Manager页面中设置
在Server10.1的Manager页面中,点击站点——GIS服务器——数据存储,能够找到下图的配置页面,注册方式与桌面端相似。
空间数据库引擎ArcSDE的直连方式和服务链接方式分别适用不一样的应用场景。直连方式因为在客户机上执行处理,因此,它不只处理速度较快、并且还可以下降服务器器端内存的消耗和负载。所以,推荐你们使用直连方式,而且在发布服务时注册相关数据库和文件夹。可是,因为直连方式须要安装数据库客户端,配置相对比较繁琐。对于并发量较小的简单应用使用服务链接方式可能会更加便捷。此外,ST_Geometry存储格式可让GIS专业人员经过SQL来方便、快捷、高效的操做空间信息就像操做其余数据同样,所以也推荐你们使用。