SDE数据库的备份、迁移或恢复
使用sdeexport和sdeimport命令对SDE数据库的备份、迁移或恢复
本方法分四个步骤,备份元表,备份数据表,还原元表,还原数据表。
做SDE库的迁移或恢复之前,首先要了解SDE做为空间数据库引擎,它是怎么组织空间数据的,即要知道元表存放的内容和数据表存放的内容。SDE用 户是SDE数据库边默认的一个用户,所有的元表存放在该用户下面,元表的作用就是存放数据表之间的关系,约7张数据表才能组成一个要素类,它们之间的关系 要靠SDE的元表来维护。因此SDE库的备份就分二个步骤,备份元表,备份数据表。
此方法讲的是采用SDE自带的命令sdeimport和sdeexport备份和导入数据表,即方法的优点是可以在不同的数据库之间进行库的迁移或用于某个要素类恢复(sdeimport和sdeexport命令详见SDE自带的帮助文档)。
首先,备份元表
可以采用sdeexmport命令来备份元表,但本方法采用使用ArcCatalog自带的export工具来备份元表。连接需要备份的SDE库, 在需要备份的特征数据集或某个连接上点击右键,再点击export/xml workspace Document 如下图所示:
说明:在SDE数据库连接(上图中sdeto sy)上点击右键和在特征数据集(如上图中的upmis.规划历史库)上点击右键备份的元表是不一样的。在数据库连接上点击右键(当然此时连接数据库的用 户需要具有操作所有数据的权限,比如SDE用户),备份的是所有的元表信息,而在特征数据集上点击右键,备份的是该特征数据集对应的元表。
选择只备份元表(schema only),选择备份元数据(SDE中的数据的来源等信息)的话会把元数据的也备份。如下图所示:
其次,备份数据表
备份数据表采用的命令是sdeexport。在cmd里边执行该命令即可。假如现在我要备份的是upmissde用户下面的jmd要素类,命令如下:
sdeexport -t jmd -f d:\jmd -u upmissde –p pwd -V sde.default
-t:表名(要素类名),-f(存储路径),-u(用户名),-p(密码) ,-V(版本名称)。
当然,如果不是在SDE主机上备份还需要加上-i (端口) ,-s(主机名)这二个参数。
把所有需要备份的要素类都进行备份。
再次,在目标数据库上还原元表
也可以采用sdeimport命令来完成,本方法中同样采用ArcCatalog的import工具来还原元表。
以某个用户名(比如说sde)建立SDE数据库的连接,双击连接后在数据库连接上点击右击,选择import/ xml workspace Document。
需要注意的是,以什么用户登陆,还原的元表记录的就是哪个用户的数据表关系。比如,备份时我是使用upmissde备份的dlg特征数据集,还原元表时我 是以sde用户登录的,那么,还原后会在sde用户下面出现一个sde.dlg(本来是upmissde.dlg),这就是此方法的特异之处,可以在不同 的用户和不用的SDE版本及不同的数据库(Oracle ,SqlServer)之间进行数据迁移。
最后,还原数据表
同样采用的是使用sdeimport命令进行还原,假如现在我要还原刚才备份出来的jmd到sde用户下面,命令如下:
sdeimport -o append –t jmd -f d:\jmd -u upmissde –pwd –V sde.default
当然,如果不是在SDE主机上备份还需要加上-i (端口) ,-s(主机名)这二个参数。把所有需要备份的要素类都进行备份。
-o的参数选用append的原因是:用ArcCatalog恢复元表的时候,同时会把元表中相关的数据表也创立了,所以-o后面的参数不能再选create了。
如果要素类多备份和恢复麻烦的话,可以写一个批处理程序,哈哈。
本方法的缺点是不能处理多版本的数据,试验如下:
C:\>sdeexport -t pl -f d:\nsyncbin\pl -u vertest -p vertest -V version
ArcSDE 9.1 Oracle9i Build 1269 Thu Mar 3 18:54:58 PST 2005
SDEX File Export Administration Utility
—————————————————–
Exporting ArcSDE object to “d:\nsyncbin\pl” in SDEX 9.0 export format …
Exporting table “pl”.
Spatial column “SHAPE”
2 features converted.
2 features exported.
C:\>sdeimport -o append -t pl -V SDE.DEFAULT -f D:\nsyncbin\pl -u vertest -p ver
test
ArcSDE 9.1 Oracle9i Build 1269 Thu Mar 3 18:54:58 PST 2005
SDEX File Import Administration Utility
—————————————————–
Importing SDEX from D:\nsyncbin\pl …
Importing spatial column “SHAPE”
ROWID colume “OBJECTID” exists in export file’s attribute. Drop
2 records read.
2 records stored.
C:\>sdeimport -o append -t pl -V version -f D:\nsyncbin\pl -u vertest -p vertest
ArcSDE 9.1 Oracle9i Build 1269 Thu Mar 3 18:54:58 PST 2005
SDEX File Import Administration Utility
—————————————————–
Importing SDEX from D:\nsyncbin\pl …
Importing spatial column “SHAPE”
ROWID colume “OBJECTID” exists in export file’s attribute. Drop
2 records read.
2 records stored.
C:\>
在导入之前,VERTEST用户下面,SDE.DEFAULT版本里,PL图层中有一个要素,OID为1,以VERTEST的身份,新建一个版本 version,并在version版本中新建一个要素,OID为2。此时Default版本中只有一个OID=1的要素,而在version版本中有 OID=1,2二个要素。
然后使用sdeexport命令导出(如上所示)
接着,使用sdeimport把数据导入到VERTEST用户的default版本中,此时查看default版本中的数据时,有OID=1,3,4三个要素。
接着,再把数据导入到VERTEST用户的version版本中,此时version版本中的具有OID=1,2,5,6四个要素。
把version版本里边的数据提交到default版本后,default具有OID=1,2,3,4,5,6六个要素,并且在做冲突检查的过程中不会报有冲突。这就是说明在使用该命令备份和恢复多版本的SDE数据库时,也存在局限性。
分享到:
相关推荐
SDE数据库导出通常是为了备份或迁移数据。使用ArcGIS工具或数据库管理工具,将SDE数据库内容导出为文件。导入时,根据导出的文件,在新的环境中重新创建SDE连接并导入数据,恢复原有的地理空间信息。 总结来说,...
5. **恢复数据库**:使用数据库管理系统(如Oracle SQL Developer或SQL Server Management Studio)在机器B上恢复备份的sde数据库。恢复过程会将机器A的sde数据导入到新创建的数据库中。 6. **注册地理数据库**:在...
### 空间数据库备份与恢复:ArcGIS与ArcSDE技术详解 #### 空间数据备份恢复的重要性和背景 在地理信息系统(GIS)领域,空间数据是核心资产,其安全性和完整性直接关系到GIS应用的有效性。由于空间数据往往包含...
【基于Oracle数据泵的多版本Geodatabase备份迁移】 在Oracle数据库环境中,Geodatabase的备份和迁移是一项关键任务,确保了数据的安全性和系统的可移植性。Geodatabase,特别是多版本的,需要完整的备份解决方案来...
本文将详细介绍一种特殊情况下的Oracle数据库物理文件恢复流程——当数据库未开启归档模式且没有备份时,如何通过一系列操作尝试恢复数据。 #### 二、故障情景 本次案例中,一台服务器由于意外停电导致数据库服务...
- **测试连接**: 确保你可以从ArcGIS成功连接到SDE数据库,并能读写数据。 - **性能调整**: 根据实际负载,可能需要对SQL Server进行一些性能优化,如调整索引、分区策略,或者增加内存分配。 这个过程中,你可能...
- 使用SQL Server Management Studio或其他工具创建新的SDE数据库。 - 确保数据库名称符合ArcSDE的要求,并正确配置所有必要的参数。 ##### 5. 还原数据库 - 将源服务器上的备份文件复制到目标服务器。 - 在目标...
数据库管理员(DBA)则需关注数据库的安全性、效率,执行升级、备份、迁移等操作。 日常维护工作包括排错、连接管理、命令管理和升级管理。例如,通过日志文件(如giomgr_<esri_sde>.log、sde_<esri_sde>.log等)...
其中,SDE管理员负责整个ArcSDE库的创建和管理,包括版本控制、升级、备份和迁移等操作;数据拥有者则主要负责数据编辑、管理索引和字段,以及权限分配;普通用户则进行数据查询、分析和报表制作等任务。 ### 日常...
数据库DBA则负责更高级的操作,如数据库的备份、升级和维护。业务与角色的分配应根据实际需求进行,确保数据的安全性和高效性。 在日常管理中,故障排查是必不可少的,通过日志文件(如giomgr_<esri_sde>.log、sde_...
数据库DBA则专注于数据库的性能优化、备份和恢复。用户角色根据业务需求进行定制,如数据拥有者负责数据管理,数据生产者负责数据创建和更新,而数据分析师则侧重于数据挖掘和报告生成。 日常维护涵盖故障排查、...
1. **RMAN备份**:使用RMAN命令行工具进行完整的数据库备份,例如使用`backup database plus archivelog delete input;`命令。 2. **RMAN恢复**:从文件系统恢复到裸设备的过程中,需要注意的是恢复策略的选择以及...
- 确保源Oracle数据库中的空间数据已被正确地备份。 - 在目标Oracle数据库中创建新的空间数据存储区。 2. **环境搭建** - **安装Oracle数据库**:在一台服务器上安装并配置Oracle数据库。 - **安装ArcSDE**:在...
4. **备份与恢复**:ARCSDE地理数据库可以通过RDBMS的备份和恢复机制进行数据保护,也可以使用Esri的专门工具进行数据迁移。 5. **性能优化**:通过对索引的合理设计、分区策略的应用和查询优化,可以提高ARCSDE的...
这包括错误日志分析、故障恢复流程、灾难恢复计划以及数据恢复工具的使用等。通过预先规划和演练,可以减少故障带来的影响,确保业务连续性。 总之,基于Oracle的Geodatabase高级管理技术涉及广泛的知识点,从系统...
6. **数据迁移与整合**:了解如何将现有GIS数据迁移到ArcSDE,以及不同数据库之间的数据转换。这涉及到数据格式的转换、坐标系统的设置以及拓扑规则的定义。 7. **性能优化**:优化ArcSDE性能的关键在于合理设计...
10. **升级与迁移**:随着版本的更新,用户可能需要将ArcSDE 10.2的数据迁移到更高版本的ArcSDE或Oracle数据库中。这通常涉及数据转换、配置调整和测试验证。 总结来说,ArcSDE 10.2 for Oracle 10g和11g是一个复杂...