Oracle 中移动地理数据库的方法
有可用于移动地理数据库的多个选项:可创建新的地理数据库并移动数据,或者移动整个数据库。
创建新的地理数据库,然后移动数据
可创建新的 Oracle 数据库,在其中创建地理数据库,然后将现有数据移动到这个新的地理数据库中。这可通过使用 ArcGIS 中的复制和粘贴、导出工具、“提取数据”向导或 XML 工作空间文档来完成。
请注意,在将数据加载到新的地理数据库时登录的用户将成为数据的所有者。如果希望在新的地理数据库中该数据仍归同一所有者所有,则应使用户都移动自己的数据。
还可以使用 Oracle 的导出和导入工具在数据库之间传输数据,但请记住,要素类和栅格均以大量的表及关联数据库对象的形式存在。遗留任何关联对象都会使数据在目标数据库中无法操作。因此,建议在导出时包括数据所有者的整个方案加上 SDE 用户的方案。
需要整个 SDE 用户的方案,这是因为地理数据库数据对象依赖于地理数据库管理员方案中的元数据资料档案库来管理数据并为其提供结构。SDE 用户方案还包含 ST_Geometry 类型和函数。
移动 Oracle 数据库
可以先备份 Oracle 数据库,然后将其还原,也可以使用 Oracle 的可传输表空间。传输过程中,请确保将所有必需的对象与数据表一同导出。
移动大型数据库时,使用 Oracle 可传输表空间尤为高效。您可使用恢复管理器 (RMAN) 工具来移动表空间。
传输表空间时需要考虑以下几个方面:
- 每个表空间必须独立;表及其索引必须处于同一表空间中,才能传输表空间。换句话说,所有表依赖项必须共享其表空间。
- 传输介质的大小必须可容纳要传输的数据文件。
- 如果目标数据库中已存在同名的表空间,则无法导入该表空间。
- 如果表空间中存储的表或索引已经在目标服务器上存在,则无法导入该表空间。表和索引在其方案中的名称必须唯一。
- 如果源和目标平台不同时使用大字节或小字节,则必须将传输的表空间转换为目标平台的格式。
- 源和目标数据库必须使用相同的字符集。
- 导出操作必须由具有 EXP_FULL_DATABASE 权限的用户执行。
有关使用导入/导出、备份和还原操作以及可传输表空间的信息,请参阅所用版本的相应 Oracle 文档。
9/15/2013