升级 DB2 中的地理数据库的准备工作
在升级包括地理数据库在内的任何企业系统时,必须事前进行规划。在开发服务器或测试服务器上对新版本进行测试,以确保其适用于所有的客户端应用程序。
在确定了新系统会按预期进行工作后,请计划升级;确保必要的工作人员均可执行升级并且他们拥有完成指派的任务所必需的权限。
注意如下事项:
- 不支持从软件的测试版本进行升级。
- 如果您的数据库是支持的版本,则可从 9.3.x、10、10.1 或 10.2 版本的地理数据库直接升级到 10.2.2 版本的地理数据库。没有从版本 10.2.1 升级到版本 10.2.2 的地理数据库;对这些版本之间所做的所有更改都在 ArcGIS 客户端应用程序中实现。
- 如果您的地理数据库为 9.2 版或更早的版本,则必须先升级到支持的地理数据库版本,然后再升级到 10.2.2。
- 地理数据库升级后,先前版本的 ArcGIS 可能无法连接该地理数据库,因为某些较早版本的 ArcGIS 无法读取该地理数据库的较新版本。ArcGIS 10 之前的版本无法连接到 10.2.x 版地理数据库。ArcGIS 10 客户端能够连接到 10.2.x 版地理数据库。
- 不提供将地理数据库降级到先前版本的正式机制。如果升级到新版本后想要退回到该地理数据库的旧版本,则必须从备份中恢复旧数据库。
在升级 DB2 中的地理数据库之前,还必须完成以下步骤:
- 检查 ArcGIS 资源中心以确保数据库、操作系统和其他组件至少满足最低系统要求。
更新您的地理数据库之前,必须采用受支持的数据库版本且硬件必须至少符合最低的系统要求。
-
创建数据库的备份。
如果要升级 z/OS 上 DB2 中的地理数据库,请备份参与地理数据库的所有数据库。
- 如果使用 ArcSDE 服务进行连接并在 SDEHOME 的 etc 目录中自定义了任何文件,需创建这些文件的副本。
-
DB2 参数 DB2_SNAPSHOT_NOAUTH 已被弃用。sde 用户需要访问 DB2 Snapshot API 以便能清理 PROCESS_INFORMATION 系统表中不需要的 ArcSDE 进程。因此,为了让 sde 用户可以访问 DB2 Snapshot API,必须将 sde 用户添加到具有 SYSMON 权限的操作系统组。
例如,如果定义了一个名为 sdegroup 的组(其中包含 sde 用户),可使用以下命令将 SYSMON_GROUP 实例参数设置为值 sdegroup:
UPDATE DBM CFG USING SYSMON_GROUP sdegroup db2stop db2start
警告:如果没有授予该权限,将无法升级。
-
如果您的数据库管理员已经撤消 SYSIBM.SYSDUMMY1 目录视图中的 SELECT 权限,则他/她可能需要重新授予 PUBLIC 权限或向所有连接到 DB2 中地理数据库的用户授权。必须要有此权限才能对数据库进行 SQL 查询。
如果用户没有该目录视图上的 SELECT 权限,则当其试图连接时会看见以下类似错误:
SQL0551N "ANYA" does not have the privilege to perform operation "SELECT" on object "SYSIBM.SYSDUMMY1". SQLSTATE=42501
要将该视图上的 SELECT 权限授予 PUBLIC,请在以具有 DBADM 权限的用户身份登录时执行以下命令:
GRANT SELECT ON SYSIBM.SYSDUMMY1 TO PUBLIC;
- 在数据库中授予地理数据库管理员 (sde) DBADM 权限。这是升级地理数据库的必要条件。
-
移除任何您可能已添加到 ArcGIS 外部的 ArcSDE 地理数据库系统表中的任何自定义功能,例如触发器或其他索引。
升级程序无法识别对系统表的自定义修改。如果类似的自定义修改禁止更改系统表方案,升级将会失败。
- 如果从 z/OS 上 DB2 中的 9.3.x 地理数据库升级,应移除三个功能。有关详细信息,请参阅清除功能。
- 对于仅使用 ArcSDE 服务的 IBM AIX 用户:如果要在 AIX 上安装,建议在升级或安装 ArcSDE 之前运行 slibclean 以从内存中清除非活动的库。停止当前的 ArcSDE 服务,然后以超级用户身份运行 slibclean。有关 slibclean 命令的详细信息,请参阅 AIX 系统管理员文档。
- 此时,您可能想要创建第二个数据库备份以保留您在之前步骤中所做的更改。
- 在能够直连到地理数据库的计算机上安装当前版本的 ArcGIS 客户端(ArcGIS for Desktop Standard 或 Advanced、具有 Geodatabase Update 扩展模块的 ArcGIS Engine 或 ArcGIS for Server Enterprise Standard 或 Advanced)以执行升级。
-
确保安装了用于升级的 ArcGIS 客户端的计算机上安装和配置了 DB2 Runtime Client。
因为必须从 ArcGIS 直连至 DB2 才能升级地理数据库,所以这是必要条件。如果从 32 位 ArcGIS 客户端(如 ArcGIS for Desktop 或 ArcGIS Engine)连接,则必须安装 32 位的 DB2 客户端。如果从 64 位 ArcGIS 客户端(例如 ArcGIS for Server)连接,则必须安装 64 位 DB2 客户端。
- 确保没有任何用户连接到正在升级的地理数据库。
您可以通过在 ArcGIS for Desktop 中打开地理数据库管理 对话框的连接的用户选项卡查看当前连接到地理数据库的用户列表。
- 如果使用 ArcSDE 服务,则执行以下操作:
- 使用 sdemon –o shutdown 命令停止 ArcSDE 服务。如果服务运行于 Windows 服务器上,可在 Windows 服务 界面上停止服务而无需使用 sdemon 命令。
- 如果要升级到 ArcSDE 应用程序服务器新的完整版本(例如从 9.3.1 或 10 升级到 10.1),请卸载旧版本的 ArcSDE。在 Windows 上,出现提示时删除旧服务。注:
如果要使用补丁包或修补程序,请勿执行此步骤。
- 从 Esri 客户关怀中心门户获取 ArcSDE 应用程序服务器安装程序。
地理数据库已做好升级准备。可以使用 ArcGIS for Desktop 中的升级地理数据库工具或使用在 ArcGIS 客户端计算机上运行的 Python 脚本。
如果使用 ArcSDE 服务进行连接,请在升级地理数据库后安装 ArcSDE 应用程序服务器。