在 Linux 或 UNIX 上当现有 DBMS 为 64 位时迁移到 ArcSDE 32 位
如果您现已安装 32 位 ArcSDE,则不可直接升级至 64 位安装。
如果要使用 ArcSDE 32 位和 32 位数据库并且要换用 ArcSDE 64 位和 64 位数据库,必须将此数据库移动到新 DBMS 实例,或者创建新数据库,然后将现有数据移动到此新数据库中。
步骤:
- 将所有地理数据库版本与默认版本进行协调。
- 删除其他地理数据库版本。
- 压缩地理数据库。
-
停止 ArcSDE 服务(如果正在运行)。
sdemon -o shutdown -i <service> -s <server_name> -p <ArcSDE_administrator_password>
ArcSDE 命令行工具及其文档随 ArcSDE 一起安装。
-
确保当前没有任何用户与地理数据库建立直连。
可以使用 sdemon 命令来实现此操作。
sdemon -o users -i <service> -s <server_name> -p <ArcSDE_administrator_password>
-
向 ArcSDE 管理用户授予升级权限。
对于大部分数据库,此用户为 sde 用户。对于 Oracle 中以用户方案创建的地理数据库,则为方案的所有者。
有关升级所需权限的列表,请参阅 PostgreSQL 中地理数据库 (geodatabase) 的用户权限。
- 创建现有数据库的备份。
- 将地理数据库升级到与打算使用的 ArcSDE 64 位版本等同的 ArcSDE 32 位版本。
- 如果要使用 32 位服务器上的地理数据库中的自定义配置文件(dbtune.sde、dbinit.sde 和 giomgr.defs),您最好从旧 $SDEHOME/etc 目录中复制这些文件,以便可以在安装 ArcSDE 组件之后,在 64 位服务器上创建地理数据库之前将它们粘贴到 64 位服务器上的新 $SDEHOME/etc 目录文件夹中。
-
在 64 位服务器上设置 64 位版本的 DBMS。
- 如果使用操作系统登录,则在新数据库和新服务器中重新创建用户帐户。
-
在 64 位服务器上安装 64 位版本的 ArcSDE。
请参阅
-
决定要如何传输数据。可执行以下操作之一:
- 使用 DBMS 工具将整个数据库从 32 位实例移至 64 位实例。
- 建立 64 位数据库中的第二个地理数据库,并使用 XML 工作空间文档将数据从旧地理数据库移动到新地理数据库。
- 建立 64 位数据库中的第二个地理数据库,然后复制并粘贴 ArcGIS 中的数据以将这些数据从旧地理数据库移动到新地理数据库。
- 建立 64 位数据库中的第二个地理数据库,然后使用 ArcSDE 导出文件将这些数据从旧地理数据库移动到新地理数据库。
如果决定移动整个数据库,请参阅 DBMS 文档并使用您的首选方法。然后,使用 sdemon -o start 命令启动一项 ArcSDE 服务(如果需要使用)。
-
如果决定建立第二个地理数据库并移动数据,则可以执行以下操作:
-
在新的 64 位 PostgreSQL 实例中创建地理数据库。
注:
如果您的站点仅使用与地理数据库的直连,则可以跳过启动 ArcSDE 服务的步骤。但是,您必须更新客户端计算机上的 tnsnames.ora 文件以连接到新服务器和数据库。
-
使用 XML 工作空间文档、复制和粘贴功能或通过 ArcSDE 导出文件,将数据从 32 位地理数据库移至到 64 位地理数据库。
应使每个用户传输其自己的数据,以使得在新的地理数据库中该数据仍归同一用户所有。
- 在移动数据后,请重新构建索引并更新数据库统计数据。
-
在新的 64 位 PostgreSQL 实例中创建地理数据库。
- 测试以确保新建地理数据库中的一切工作正常之后,从 32 位服务器中卸载 ArcSDE 组件。
首先,视需要升级现有地理数据库。
7/10/2012