一直以来,本机上也就只有一个SDE服务;由于项目需要,需要在一个机子上建多个SDE服务,结果发现先建立的总是被后一个所取代了,虽然服务名取得不一样(esri_sde、esri_tmp),端口也不一样(5151/tcp、5152/tcp),但是总是不能如常所愿。
经过几番周折,查阅了相关资料,终于搞定了这一问题。
总结了一下:
1、建库:新建了2个oracle数据库:data、tempdb
2、新建SDE服务:
新建第一个SDE服务(esri_sde,5151/tcp),此时备份一下C:\Program Files\ArcGIS\ArcSDE\ora10gexe,这个文件夹(ora10gexe),我将其改名为ora10gexeData;
新建第二个SDE服务(esri_tmp,5152/tcp),此时备份一下C:\Program Files\ArcGIS\ArcSDE\ora10gexe,这个文件夹(ora10gexe),我将其改名为ora10gexeTemp;
3、确认一下ora10gexeData,ora10gexeTemp中的一些参数信息:
进入ora10gexeData\etc,用记事本打开dbinit.sde文件,修改ORACLE_SID=DATA;
进入ora10gexeTemp\etc,用记事本打开dbinit.sde文件,修改ORACLE_SID=TEMPDB
进入ora10gexeData\etc, 用记事本打开services.sde文件,修改参数为 esri_sde 5151/tcp;
进入ora10gexeTemp\etc,用记事本打开services.sde文件,修改参数为 esri_tmp 5152/tcp;
4、修改注册表里的对应服务路径:
进入注册表,搜索esri_sde这个服务名,会在以下位置找到对应信息:
HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\ArcInfo\ArcSDE\ArcSDE for Oracle\esri_sde --> 修改键值SDEHOME
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\esri_sde --> 修改键值ImagePath
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\esri_sde --> 修改键值ImagePath
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\esri_sde --> 修改键值ImagePath
将对应的键值,改为对应的路径名即可,如下图所示,将esri_sde的路径中的ora10gexe改为ora10gexeData即可,同理esri_tmp亦如此,改为ora10gexeTemp。
OK,到现在为止,该改的地方都改完了,再去试试看启动sde的服务吧。。。
再用ArcCatalog连接看看:
OK,彻底搞定。