前言:
旨为提高项目现场实施效率,结合oracle10g自带的数据泵工具(impdp,expdp)实现Arcsde数据的快速迁移部署。
(冷备更快,但是现实环境符合条件的可能性太小)
测试环境:[g1]
1) Oracle10gR2+中间件(Arcsde10.0)(目标机器与源机器保持版本一致)
2) 目标机器与源机器都是同一台机器,请注意之间的不同点。
3) 源机器安装了Oracle10gR2+中间件(Arcsde10.0)
操作源机器:
1) 建立两个储存图形的表空间,用户以及赋予必要的权限如下图所示:
2)导入部分图形数据如下图:
3)使用expdp工具备份(sde,gissde1)
建立directories如图示:
命令行备份[g2] (sde,gissde1用户下对象)
备份结束后在下图所示可见对应dmp文件
操作目标机器:
由于此次测试与源机器同一台机器必须做如下操作:
1)停止Arcsde服务
2)删除用户sde,gissde1,gisde以及对应表空间与数据文件
3)建立sde,gissde表空间,用户(不需要赋予任何权限)
4)使用impdp工具导入刚才备份的dmp[g3]
具体命令如下:(不能换行)
Impdp system/gisinfo@orcl directory=dirt dumpfile=gissde1.dmp schemas(sde,gissde1)
结果:可以正常使用
隐患:了解Arcsde的知道sde表空间中不只储存了gissde1用户下图形,表的信息,还包括前面gissde用户下的,如果这个时候我们建立gissde用户会出现图示效果。
这就是为什么gissde用户下的对象我没有备份但是在gissde用户下却又可以看到,但是使用Arcmap等访问的时又报错的原因。
解决方法:在sde系统表中删除不必要的记录(慎行,要对sde体系结构有一定的了解)
在arcsde10中需要做如下操作:
1)删除图层信息
刚才的图层已经看不到了
2)删除bj数据集
Gissde用户下的bj数据集已经看不到了
3)删除其他冗余信息
附件1:
附件2:
附件3: