升级 PostgreSQL 中的地理数据库 (geodatabase) 的准备工作

在升级包括地理数据库在内的任何企业系统时,必须事前进行规划。在开发服务器或测试服务器上对新版本进行测试,以确保其适用于所有的客户端应用程序。

在确定了新系统会按预期进行工作后,请计划升级;确保必要的工作人员均可执行升级并且他们拥有完成指派的任务所必需的权限。

注意注意:
  • 不支持从软件的测试版本升级。
  • 如果地理数据库是复本的一部分,则在同步前必须升级父地理数据库和子地理数据库。
  • 没有将 ArcSDE 地理数据库降级到之前版本的正式机制。如果升级到更新的版本后想要降级该地理数据库,则必须从备份中恢复旧数据库。
  • 升级地理数据库后,先前版本的 ArcGIS 将无法打开该地理数据库,因为较早版本的 ArcGIS 无法读取较新版本的地理数据库。

在升级 PostgreSQL 中的地理数据库之前,还必须完成以下步骤:

步骤:
  1. 检查 ArcGIS 资源中心以确保系统满足最低要求。
  2. 为数据库群集中每个数据库创建备份。
    注意注意:

    一次只能备份一个数据库。

  3. 升级 PostgreSQL 数据库群集。
    • 在 Windows 上,将 Support 文件夹从 ArcSDE 安装介质上的 ArcSdePG 复制到本地驱动器然后运行 UPGRADE.bat 文件。当升级完成后,需要重启服务器以使更改生效。
    • 在 Red Hat Linux 上,运行 postgresql-8.3.8-1PGDG.rhel5、postgresql-server-8.3.8-1PGDG.rhel5 以及 postgresql-libs-8.3.8-1PGDG.rhel5 RPM 来升级。此外,请确保至少安装了 libXML2 的 2.6.23 版本。该文件通常随 Red Hat Linux 操作系统一起安装。如果您没有 libXML2 或没有安装 2.6.23 或更高版本,请下载并安装 libXML2 2.6.23 或更高版本。
    • 在 SUSE Linux 上,有关通过源安装以升级 PostgreSQL 数据库群集的信息,请参阅 PostgreSQL 文档。
  4. 从数据库群集删除数据库。
  5. 在数据库群集中重新创建数据库。
    注意注意:

    确保为数据库指定与以前相同的名称和所有者,并将数据库的 search_path 变量设置为“$user”、public 和 sde。

  6. 从 MS_DOS (Windows) 或 shell (Linux) 命令提示符运行 pg_restore 命令将数据库恢复到已更新的 PostgreSQL 数据库群集,每次恢复一个数据库。

    必须为每个数据库运行两次恢复命令;第一次用于恢复公共方案的内容,第二次用于恢复数据库中所有其他方案的内容。

    pg_restore -U postgres -n public -d pgsqldb1 pgsqldb1_bu.dump 
    
    pg_restore -U postgres -d pgsqldb1 pgsqldb1_bu.dump
  7. 现在,PostgreSQL 数据库群集已完成升级,请在升级地理数据库之前,为所有的数据库创建第二个备份。
  8. 移除任何您可能已添加到 ArcGIS 外部的 ArcSDE 地理数据库系统表中的任何自定义功能,例如触发器或其他索引。

    升级程序无法识别对系统表的自定义修改。如果类似的自定义修改禁止更改系统表方案,升级将会失败。

  9. 在数据库中授予 ArcSDE 管理员 (sde) 超级用户权限。

    这是升级地理数据库的必要条件。

  10. 在能够直连到地理数据库的计算机上安装当前版本的 ArcGIS 客户端(ArcGIS Desktop、ArcGIS Engine Runtime 或 ArcGIS Server 标准版或高级版)以执行升级。
  11. 确保没有任何用户连接到该地理数据库。

    您可以使用 sdemon 命令来检查此项。有关说明,请参阅显示连接会话

  12. 使用 sdemon –o shutdown 命令关闭所有正在运行的 ArcSDE 服务。如果服务运行于 Windows 服务器上,可在 Windows 服务 界面上停止服务而无需使用 sdemon 命令。

    有关 sdemon 命令的详细信息,请参阅《ArcSDE 管理命令参考》中的命令语法。

  13. 卸载旧版 ArcSDE。有关说明,请参阅从 Windows 中卸载 ArcSDE从 Linux 或 UNIX 中卸载 ArcSDE
  14. 在 Windows 中,将在卸载过程中提示您删除正在运行的 ArcSDE 服务(如果有)。如果正在安装 ArcSDE 的新版本,请单击以删除服务。如果正在安装补丁包或修补程序,可以单击并重新使用服务,除非补丁包或修补程序的说明指定您必须重新创建该服务。(例如,如果补丁包或修补程序在服务功能中进行了某些修复,您很可能需要重新创建该服务。)
  15. 安装 ArcSDE 的新版本。

    在 Windows 操作系统上,请勿运行“安装后配置”向导。“安装后配置”向导只适用于全新安装。

  16. 将 st_geometry 文件从 SDEHOME 中的新建 bin 目录下复制到 PostgreSQL 安装目录下。如果打算使用 ST_Raster 类型,另请复制 libst_raster_pg 库。
    • 在 Linux 上,登录为超级用户并使用 FTP 将 st_geometry.so 文件传输到(如果使用 ST_Raster,还要传输 libst_raster_pg.so 文件)PostgreSQL 安装目录下的 lib/pgsql(32 位)或 lib64/pgsql(64 位)目录中。
    • 在 Windows 上,将 st_geometry.dll 文件复制到(如果使用 ST_Raster,还要复制 libst_raster_pg.dll 文件)PostgreSQL 安装目录的 lib 文件夹。

现已为地理数据库的升级准备就绪。可以使用 ArcGIS Desktop 中的“升级地理数据库(Geodatabase)”工具或使用在 ArcGIS 客户端计算机上运行的 Python 脚本。

相关主题


3/7/2012