写在前面的话
在完成 linux系统下ArcSDE 10.0的安装后,我又进行了linux系统下ArcSDE 10.1的安装摸索。目前网络上还没有详细的ArcSDE 10.1 for linux的安装文档或博客,但是可以利用ESRI的在线资源http://resources.arcgis.com/zh-cn/help/install-guides/arcsde-application-server-oracle/10.1/index.html#//009400000002000000(用于 Oracle 的 ArcSDE 应用程序服务器安装指南)获得帮助。ArcSDE 10.1 forServer已经变成了64位,然而Desktop、Engine依然32位,使用中因这32位和64位引发的问题随之而来,对于安装Oracle数据库的用户来说,使用ArcGIS10.1 forDesktop和ArcGIS 10.1 forServer连接SDE数据库:
ArcGIS 10.1 forDesktop连接:需要安装32Bit的oracle客户端
ArcGIS10.1 forServer连接:需要安装64Bit的oracle客户端
如果Desktop和Server在一台机器,需要同时安装32位和64位客户端。直连的话,需要将32Bit的数据库客户端的环境变量放到前面,如果是ArcGIS Server发布直连服务,需要将64Bit数据库客户端的环境变量放到前面。
在安装之前我想带领读者弄清楚ArcSDE直连和应用服务连接的概念。
1.安装环境
同样,安装之前一定要查看ESRI官网的ArcSDE 10.1的需求说明,选择合适的系统。我选择试验的安装系统环境是SUSE,在VMware虚拟机中进行,安装SUSE时建议留存的空间>22.8G,以免空间不够前期工作全部废掉。数据库是oracle 11g ,ArcSDE版本为10.1,对于数据库客户端要说下,安装时第一步记得选择“管理员选项”其他都是默认安装,软件具体版本信息如下:
ArcSDE_Linux_Unix_101_129057
SUSE Linux Enterprise Server 11 SP 1
Oracle Database 11g Release 2 (11.2.0.1)
win32_11gR2_client
客户端下载地址:http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_client.zip
2安装过程
本文安装ArcSDE的前提条件是服务器端Oracle 11g和ArcGIS 10.1 for Server已经安装成功并启动服务,客户端ArcGIS 10.1 for Desktop也已经安装成功,我这里虚拟机的linux系统作为服务器,win7系统作为客户端。
首先我们来看一下两台机器数据库是否已经连通
如上图两台机子已经连通,涂改处是我的数据库密码。
如果出现“ORA-12170:TNS:连接超时”错误,如下图,那可能是你linux防火墙没有关闭
进入SUSE,手动进行设置
选择oracle客户端——配置和移植工具——Net Manage
进入界面
点击“本地——服务器名——+”
我在之前的摸索中已经建立了三个服务器名,现在给你示范建立一个“chaomang”服务器名吧
主机名输入oracle数据库所在系统的IP地址,使用TCP/IP协议,首先就要告诉计算机oracle数据库的老家在哪里,端口号是默认的,但是这里要注意不要被其他程序占用或者人为关闭了这个端口。
服务名必须是数据库的SID实例名称 这个就不能随意编了
这里如果提示the account is locked即代表建立成功,关闭,点击完成(如果是其他提示,就要具体问题具体分析了)
关闭后,点击保存。完成就打开catalog
这里可以看到我前期添加成功的zcm.sde文件,点击Add Database Connection
出现建立连接的对话框,第一栏选择oracle、第二栏键入服务名“chaomang”、第三栏选择Database authentication、第四五栏是数据库的用户名和密码,点击OK
可以看到建立数据库连接成功了,如果你连接上有红色叉号,如右图这样不要担心稍等一会就可以,这是catalog正在建表,我在摸索过程中这里花了很久,因为看到红色叉号 就以为数据库连接失败了,然后就回头摸索先前的过程,再回来又是红色叉号,如此就浪费了很多时间。
然后进入以下路径Toolbox-------Data Managerment tools--------GeodatabaseAdministration--------create enterprise Geodatabase 双击
按照我上图填写,点击OK 下一步会等待一些过程
成功后,回头看数据库连接会发现多了一些SDE表,这个时候就可以再服务器端安装ArcSDE了
创建系统级别的用户:arcsde 。 且与oracle同属oinstall组
安装ArcSDE,我一般习惯用DAEMON虚拟光驱直接将文件拷贝至虚拟机。以下是整个ArcSDE安装文件的截图,oracle11g_64在linux文件夹下
在root用户下,赋予安装文件读写权限,并安装(注意export LANG =en_US,否则安装时出现乱码)
直接上图 后面截不下,无影响
建立新文件.bash_profile,添加arcsde用户的环境变量,注意我标红的地方一定要改成你自己的。与ArcSDE 10.0不同的是 这里的SDEHOMO路径 一定不要写错啊
修改完毕环境变量,使之生效。命令语句为“点 空格 点/.bash_profile”
修改配置文件参数,在ArcSDE用户下修改$SDEHOME/etc/services.sde文件添加实例名和端口号
在Root用户下/etc/services文件一样添加
目录应该为arcsde用户所属oinstall组,切换到root用户执行以下,这里我忘记截图了 用10.1的图吧 一样的
此时,可以启动ArcSDE服务了,命令与10.1的略有不同 一定要注意。 这里的密码 是先前在catalog里面设置的SDE表空间的密码 不是数据库的密码
最后还是那句话,坚信分享和帮助创造价值——Zcm。如果本文能够帮到你,希望你能用我为你节省出来的时间,去帮助其他人。
后记:Catalog建表的部分参照了赖小辉同学共享的ppt资料,在此表示感谢。同时感谢技术支持(SDE)的刘峰同学在过程中给予的帮助。