现在每次写东西都不知道标题该怎么写,怎么用既简练的语言还能表达自己想解决的问题,估计这个标题又让大家理解半天,先解释一下:我们可以利用Oracle的逻辑备份恢复(EXP、IMP或者EXPDP、IMPDP)备份恢复所有的数据库,这个应该比较简单,简单是简单,碰到问题就郁闷了。
完全备份恢复请参考:http://wenku.baidu.com/view/13dda98102d276a200292eea.html
但是如果用户只给几个导出的DMP,然后需要恢复到已经存在数据的数据库中,那么我们将怎么处理呢?
下面就给大家做个实验来解决这个问题。
系统配置
ArcGIS Desktop10、ArcSDE10、Oracle11.1.0.6、PL/SQL等
实际操作步骤
在以下的实验过程中,我重点说明ArcGIS的相关使用方法,对数据库的方式不做介绍,大家有什么问题可以查看Oracle相关帮助。
1:使用PL/SQL导出某个图层的DMP
- Export started on 2011/3/7 10:55:46
- D:/app/esri/product/11.1.0/client_1/bin/exp.exe parfile=C:/Users/gis/AppData/Local/Temp/plsexp.par
- 连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
- With the Partitioning, OLAP, Data Mining and Real Application Testing options
- 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
- 即将导出指定的表通过常规路径...
- . . 正在导出表 DLTB导出了 5396 行
- 成功终止导出, 没有出现警告。
- Export finished on 2011/3/7 10:55:49
- 在导出DMP时需要保证导出信息正确,没有警告,如上所示。
2:将该DMP导入到指定的用户
在导入过程中有可能出现DMP导入到不同用户的问题,或者用户权限的问题,大家根据数据库的方式可以解决掉,然后倒入到指定用户下。
3:在数据库表导入用户的过程中,用户的数据导入进行了,但是该数据的信息是没有注册到SDE的表中的。我们需要使用sdetable -o register来进行注册。
使用该命令主要是将数据表信息注册到SDE的相关表中,但是我们再次查看ArcCatalog里面的数据可以看到这个dltb图层,但是仍然是数据表的图标,并不是图层的图标,那么说明这个数据还不认定是图层,我们需要时用sdelayer –o register注册为图层。
使用该命令后,我们将该表注册为以ST_Geometry存储的图层数据,我们在ArcCatalog里面就可以看到该数据库了。如下所示,左边为可视数据,右边为图层。