在 Linux 或 UNIX 上当现有 DBMS 为 64 位时迁移到 ArcSDE 32 位

如果您现已安装 32 位 ArcSDE,则不可直接升级至 64 位安装。

如果要使用 ArcSDE 32 位和 32 位数据库并且要换用 ArcSDE 64 位和 64 位数据库,必须将此数据库移动到新 DBMS 实例,或者创建新数据库,然后将现有数据移动到此新数据库中。

步骤:
    首先,视需要升级现有地理数据库。
  1. 将所有地理数据库版本与默认版本进行协调。
  2. 删除其他地理数据库版本。
  3. 压缩地理数据库。
  4. 停止 ArcSDE 服务(如果正在运行)。
    sdemon -o shutdown -i <service> -s <server_name> -p <ArcSDE_administrator_password>

    ArcSDE 命令行工具及其文档随 ArcSDE 一起安装。

  5. 确保当前没有任何用户与地理数据库建立直连。

    可以使用 sdemon 命令来实现此操作。

    sdemon -o users -i <service> -s <server_name> -p <ArcSDE_administrator_password>
  6. 向 ArcSDE 管理用户授予升级权限。

    对于大部分数据库,此用户为 sde 用户。对于 Oracle 中以用户方案创建的地理数据库,则为方案的所有者。

    有关升级所需权限的列表,请参阅 PostgreSQL 中地理数据库 (geodatabase) 的用户权限

  7. 创建现有数据库的备份。
  8. 将地理数据库升级到与打算使用的 ArcSDE 64 位版本等同的 ArcSDE 32 位版本。
  9. 如果要使用 32 位服务器上的地理数据库中的自定义配置文件(dbtune.sde、dbinit.sde 和 giomgr.defs),您最好从旧 $SDEHOME/etc 目录中复制这些文件,以便可以在安装 ArcSDE 组件之后,在 64 位服务器上创建地理数据库之前将它们粘贴到 64 位服务器上的新 $SDEHOME/etc 目录文件夹中。
  10. 在 64 位服务器上设置 64 位版本的 DBMS。
  11. 如果使用操作系统登录,则在新数据库和新服务器中重新创建用户帐户。
  12. 在 64 位服务器上安装 64 位版本的 ArcSDE。

    请参阅

  13. 决定要如何传输数据。可执行以下操作之一:
    • 使用 DBMS 工具将整个数据库从 32 位实例移至 64 位实例。
    • 建立 64 位数据库中的第二个地理数据库,并使用 XML 工作空间文档将数据从旧地理数据库移动到新地理数据库。
    • 建立 64 位数据库中的第二个地理数据库,然后复制并粘贴 ArcGIS 中的数据以将这些数据从旧地理数据库移动到新地理数据库。
    • 建立 64 位数据库中的第二个地理数据库,然后使用 ArcSDE 导出文件将这些数据从旧地理数据库移动到新地理数据库。

    如果决定移动整个数据库,请参阅 DBMS 文档并使用您的首选方法。然后,使用 sdemon -o start 命令启动一项 ArcSDE 服务(如果需要使用)。

  14. 如果决定建立第二个地理数据库并移动数据,则可以执行以下操作:
    1. 在新的 64 位 PostgreSQL 实例中创建地理数据库。
      注注:

      如果您的站点仅使用与地理数据库的直连,则可以跳过启动 ArcSDE 服务的步骤。但是,您必须更新客户端计算机上的 tnsnames.ora 文件以连接到新服务器和数据库。

    2. 使用 XML 工作空间文档、复制和粘贴功能或通过 ArcSDE 导出文件,将数据从 32 位地理数据库移至到 64 位地理数据库。

      应使每个用户传输其自己的数据,以使得在新的地理数据库中该数据仍归同一用户所有。

    3. 在移动数据后,请重新构建索引并更新数据库统计数据。
  15. 测试以确保新建地理数据库中的一切工作正常之后,从 32 位服务器中卸载 ArcSDE 组件。

7/10/2012