配置sde-多个sde配置

 

一、安装的前期准备:  

1.1 首先创建一个Oracle数据库实例用来存储GIS数据。 使用sys用户登陆,在该数据库中创建一个表空间 sde 大小可以为200MB 

1.2 创建sde用户,设置表空间为sde,临时为temp;在角色标签中,授予sde用户connectResource角色;在系统权限中授予sde用户Select Any Table权限;在限额中设置sde表空间为无限制,点击应用创建sde用户。 

1.3 在打开方案->程序包->SYS,选择DBMS_LOCK,鼠标右击选择授予权限,授予EXECUTE PUBLIC;用相同的方法授予DBMS_PIPEPublic. 

1.4如果是AIX系统操作,需要以下文件或更高的版本

xlC.aix50.rte 6.0.0.0

xlC.msg.en_US.rte 6.0.0.0

xlC.rte 6.0.0.0

还需要做一下环境变量的设置: 

SDEHOME <location of ArcSDE>  

ORACLE_HOME <location of Oracle>  

ORACLE_SID <Oracle SID value>  

TNS_ADMIN  <location of the tnsnames.ora file>  

PATH $PATH:$SDEHOME/bin:$ORACLE_HOME/bin  

LD_LIBRARY_PATH  $SDEHOME/lib:/usr/lib:/lib:$ORACLE_HOME/lib (All platforms except HP and IBM)  

LIBPATH $SDEHOME/lib:/usr/lib:/lib:$ORACLE_HOME/lib (for IBM only)

 

    通过上面的操作,我们的准备工作就完成了,其实 Post Installation 前半部分的操作就是上面这个过程的向导,通过向导界面就可以完成,写出来只是为了有什么问题可以参考一下。 

 

二、ArcSDE软件安装: 

2.1首先,Setup,一路下一步到结束。如果是OracleSDE安装在同一台机器,而且运气比较好,就不需要往下看了。启动服务,OK 

2.2 后面的POST INSTALL是比较麻烦的,在DOS状态下,输入: 

sdesetupora9i -o install -p sde 

其中sdesetupora9i根据不同数据库版本而定,如果你的8i那么就是sdesetupora8i-o 后面是操作; -p后面是sde用户的密码。系统会提示你确认,输入 Y 确认。(一堆堆表格就拷到sde表空间里面了,如果已经建立过并导入过数据就不用执行了。) 

    2.3创建SDE服务:在DOS状态下输入: 

sdeservice -o create -p sde -H D:/tools/SDE/ArcSDE/ora9iexe -d oracle9i,oracle92 -i esri_sde -n 

其中sdeservice是创建服务的命令行工具;-o 后面是操作; -p 后面是sde用户的密码;-h 后面是ArcSDE的安装目录(这是我的安装目录,你的有可能会不同,但最后一级一定是 ora9iexe 目录,Oracle8oraexe;本文档中以后的SDE安装路径同样处理。);-d 后面是数据库版本 + 数据库实例名(是SID,不是服务名); -i 后面是要创建的SDE服务的名称; -n 确认。 

2.4修改Windows服务配置文件首先在c:/winnt/system32/drivers/ect目录下找到 services文件,使用记事本打开,在最后加一行: esri_sde    5151/tcp    #ArcSDE for Oracle9i 

2.5修改SDE服务配置文件首先在 D:/tools/SDE/ArcSDE/ora9iexe/etc目录下找到 services文件,使用记事本打开,在最后加一行: esri_sde    5151    #ArcSDE for Oracle9i 

    2.6启动SDE服务。使用命令行: 

sdemon -o start -p sde 

其中 sdemon是启动工具,-o 后面是操作;-p 后面是sde用户的密码。 

 

三、常见问题说明: 

    3.1 OracleSDE不在同一台机器上时如何配置服务:   

    上面默认的都是OracleSDE在同一台机器上,如果不在同一台机器上,可以创建SDE服务,但是无法启动,会报下面的错: 

    esri_sde service failed during initialization.

    Please check event log or error log files. 

    Error starting esri_sde_206 service(997) 

    Could not start ArcSDE -- Check Network, $SDEHOME disk, DBMS settings and dbinit.sde.  

现在只要打开D:/tools/SDE/ArcSDE/ora9iex/etc/下的dbinit.sde文件,里面会有一句:set ORACLE_SID=ORACLE9I 改为:set LOCAL=ORACLE9I就可以了。其中ORACLE9I是我的实例名,记得替换成你的! 

3.2不同网段的ArcSDE数据库连接失败的解决方案如下:  

打开C:/WINDOWS/system32/drivers/etc目录(如果Windows没有安装在C盘,将C换为相应的盘符,如:DE等)下的Hosts文件,如果该文件不存在,则新建一个。在该文件最后添加一行:

10.168.0.159            sdeServer 

保存文件,重新连接,则能成功连接。 

    3.3一台机器上创建多个ArcSDE实例:

 

    对于Windows: 

 

    1. 拷贝 %SDEHOME% 到一个新的位置。

 

    2. 用适当的RDBMS连接变量(如ORACLE_SID)更新新的dbinit.sde 文件。

 

    3. 用新的实例名、端口号和网络协议更新 %SDEHOME%/etc/services.sde文件。

 

    4. 添加服务名、端口号和网络协议到 c:/winnt/system32/drivers/etc/services 文件中。须确认所用的端口号没有被用过。

 

    5. 删除新的giomgr.log文件中的内容。

 

    6. 如果需要,更新新的giomgr.defs文件,以指定新实例的操作参数。

 

    7. 如果需要,更新新的dbtune.sde 文件,以指定参数给在新实例的数据库中创建数据时使用。

 

    8. 确认SDEHOME 变量指向正确的新ArcSDE实例位置,并运行给对应数据库使用的sdesetup 命令来创建新数据的存储表。

 

    9. 使用 “sdeservice -o create” 命令创建新的ArcSDE服务。 

 

    对于UNIX:

 

    1. 给新实例创建一个新的工作目录。

 

    2. 拷贝 $SDEHOME 到新创建的工作目录。

 

    3. 用适当的RDBMS 连接变量(如ORACLE_SID)更新新的dbinit.sde 文件。

 

    4. 用新的实例名、端口号和网络协议更新 $SDEHOME/etc/services.sde 文件。

 

    5. 添加服务名、端口号和网络协议到 /etc/services 文件。须确认所用的端口号没有被用过。

 

    6. 删除新的giomgr.log文件中的内容。

 

    7. 如果需要,更新新的giomgr.defs文件,以指定新实例的操作参数。

 

    8. 如果需要,更新新的dbtune.sde 文件,以指定参数给在新实例的数据库中创建数据时使用。

 

    9. 确认SDEHOME 变量指向正确的新ArcSDE实例位置,并运行给对应数据库使用的sdesetup 命令来创建新数据的存储表。 

 

四、配置文件说明:

 

    根据经验,上面的所有操作都集中在这几个文件上,C:/WINDOWS/system32/drivers/etc下的hostsservicesD:/tools/SDE/ArcSDE/ora9iex/etc下的dbinit.sdeservices.sde。说明如下:

 

    hosts:主机域名解析文件。当在网络上找不到所需要的域名解析服务时,Windows就会调用这个文件来查找响应的IP地址。在这里可以绑定SDEServer为你需要的SDE服务器的IP地址。

 

    services:服务端口列表文件。主机对外开发的所有服务端口都在这里注册,SDE服务当然也在其中,必须保证你的SDE服务以规定的格式存在于其中,且不与其他服务冲突,两个SDE实例同时存在时也必须保证互相不冲突。

 

    dbinit.sdeSDE数据库配置文件。当数据库在本机时为 set ORACLE_SID=实例名,数据库在其他机器上时为 set LOCAL=实例名。

 

    services.sdeSDE服务列表。SDE本身的服务注册列表,必须保障你的所有SDE实例都在其中。

 

    个人认为 sdeservice –o create 命令的主要任务之一就是把服务端口号写到servicesservices.sde中,把实例名写到dbinit.sde中。

五、常用命令

------------------------------------------------------------------------- 

sdeservice -o create     -d <ORACLE8I,SID|ORACLE9I,SID|ORACLE 10G,SID|  

                             SQLSERVER,SQLSERVERINSTANCE|DB2,DB2INSTANCE|  

                             INFORMIX|COVERAGES>  

                         -p <SDE_DBA_Password>  

                        [-i <service>] [-u <service_user>] [-n]  

                        [-H <sde_directory>] [-P <service_user_password>]  

sdeservice -o delete    [-d <ORACLE8I|ORACLE9I|ORACLE 10G|SQLSERVER|  

                            DB2|INFORMIX|COVERAGES>]  

                        [-i <service>] [-N]  

sdeservice -o register   -r <registry_keyword> -v <value>  

                         -d <ORACLE8I|ORACLE9I|ORACLE 10G|SQLSERVER|  

                            DB2|INFORMIX|COVERAGES>  

                         -p <SDE_DBA_Password> [-i <service>]  

sdeservice -o unregister -r <registry_keyword>  

                         -d <ORACLE8I|ORACLE9I|ORACLE 10G|SQLSERVER|  

                             DB2|INFORMIX|COVERAGES>  

                         -p <SDE_DBA_Password> [-i <service>]  

sdeservice -o modify     -r <registry_keyword> -v <new_value>  

                         -d <ORACLE8I|ORACLE9I|ORACLE 10G|SQLSERVER|  

                             DB2|INFORMIX|COVERAGES>  

                         -p <SDE_DBA_Password> [-i <service>]  

sdeservice -o list      [-i <service>]  

-------------------------------------------------------------------------  

sdemon -o status   {[-i <service>] [-s <server_name>] | [-H <sde_directory>]}  

                    [-q]  

sdemon -o start    {[-i <service>] [-s <server_name>] | [-H <sde_directory>]}  

                    [-p <DB_Admin_password>]  

sdemon -o shutdown {[-i <service>] [-s <server_name>] | [-H <sde_directory>]}  

                    [-p <DB_Admin_password>]  [-N]  

sdemon -o pause    {[-i <service>] [-s <server_name>] | [-H <sde_directory>]}  

                    [-p <DB_Admin_password>]  

sdemon -o resume   {[-i <service>] [-s <server_name>] | [-H <sde_directory>]}  

                    [-p <DB_Admin_password>]  

sdemon -o info       -I {users | config | stats | locks | vars}  [-q]  

                   {[-i <service>] [-s <server_name>] | [-H <sde_directory>]}  

sdemon -o kill       -t {all | <pid>} [-p <DB_Admin_password>] [-N]  

                   {[-i <service>] [-s <server_name>] | [-H <sde_directory>]}  

    其中:  -o 要做的操作  

            -p sde用户的密码  

            -h sde的安装路径  

            -i sde服务名  

            -n 确认  

 

 

来自:http://blog.csdn.net/fengfeiyang/archive/2005/12/14/552478.aspx

 

 

 

环境:

oracle10gR2安装在两台服务器上,但只是做双机热备,操作系统均为windows server 2003 sp2

arcsde安装在第三台机器上,操作系统为windows server 2003 sp2

 

安装步骤:

 

1、需要在ArcSDE的安装机器上安装Oracle Client,或者安装ODAC,只要能安装Oracle Net软件的就可以了,假设配置的oracle连接服务名为:Oracle_ServiceName

 

2、安装ArcSDE程序和ArcSDE 9.2 for Oracle10g步骤一致

 

3、安装ArcSDE 9.2的SP4补丁

 

4、在$SDEHOME目录下ect/dbinit.sde文件夹,打开,如果有:

set Oracle_SID = Oracle_ServiceName
改为:

set LOCAL = Oracle_ServiceName  (Oracle_ServiceName是指用Oracle Net配置的本地的Oracle连接服务名)
如果没有则添加:set LOCAL = Oracle_ServiceName

 

5、在配置到最后一步创建服务的时候。不选择对话框向导创建,而选择命令语句操作创建服务:
启动cmd,输入:sdeservice -o create -d Oracle10g,Oracle_ServiceName -i esri_sde -p sde -n
(注意命令语句最后要以-n 结束)

 

6、保证C:/WINDOWS/system32/drivers/etc/services 和%sdehome%/etc/services文件里面打开SDE服务端口:ESRI_SDE 5151/TCP #ArcSDE for Oracle。(一般安装sde后自动会添加该端口的打开)

 

7、安装成功

 

8、sdemon -o start -i esri_sde -p sde就可以成功启动服务了

 

9、如果第8步失败,并提示1053的错误,重启机器,一般sde即可启动

 

10、如果还是不行,就在系统环境变量中加变量:LOCAL,并让它等于前面配置的oracle的连接服务名:Oracle_ServiceName

 

第10点是我碰到问题的解决,可能到第9步,一般都可以启动了,但如果还是不行,在windows事件日志中提示无法连接数据库,则添加这个环境变量,再重启机器,就可以解决问题了

 

来自:http://blog.csdn.net/tsing_feng/archive/2008/07/28/2724890.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值