创建多个ArcSDE实例

有时候,我们需要有多于一个的ArcSDE实例同时运行。只要存在多个 数据库实例,就可以实现这个目的。ArcSDE与RDBMS之间必须是一个一一对应的关系。ArcSDE会锁定版本表,以保证每个数据库实例只对应一个ArcSDE实例。

方案一:
对于Windows:

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

2. 用适当的RDBMS连接变量(如ORACLE_SID)更新新的dbinit.sde 文件。
3. 用新的实例名、端口号和网络协议更新 %SDEHOME%etcservices.sde文件。
4. 添加服务名、端口号和网络协议到 WINNTsystem32driversetcservices 文件中。须确认所用的端口号没有被用过。
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 命令来创建新数据的存储表。

方案二:
1、在 oracle中建两个数据库A和B;
2、使用SDE post配置数据库A中的SDE表空间、用户、密码、服务等。
3、将配置好的SDE安装目录重新复制一份,更改dbinit.sde中的SID为B,在更改service.sde中的服务名。
4、使用SDE post配置数据库B中的SDE表空间、用户和密码,配置到服务处关闭,改手工创建服务。命令行语句中增加 -H 参数,即指定第二个SDE的安装目录。如果缺少该参数,则新建的服务关联的是数据库A,你可查看dbinit.sde中的SID是否指向了同一个数据库。
9.2中不能在oracle中删除SDE用户下的所有对象,一种解决方法:删除SDE用户,然后重建,角色权限可以参考默认创建的SDE的权限,然后导入 备份的数据,不过这样也可能有警告信息提示,但不影响数据浏览。另一种删除SDE用户和表空间,重新post。

你可能感兴趣的:(oracle,windows,工作,unix,网络协议)