升级 Oracle 中的地理数据库的准备工作
在升级包括地理数据库在内的任何企业系统时,必须事前进行规划。在开发服务器或测试服务器上对新版本进行测试,以确保其适用于所有的客户端应用程序。
在确定了新系统会按预期进行工作后,请计划升级;确保必要的工作人员均可执行升级并且他们拥有完成指派的任务所必需的权限。
注意如下事项:
- 连接到地理数据库以对其进行升级时,必须使用当前的连接语法。如果使用较旧的连接语法,则升级过程将失败。有关当前语法,请参阅 ArcGIS Desktop 中的数据库连接。
- 不支持从软件的测试版本进行升级。
- 如果您的数据库是支持的版本,则可从 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 版地理数据库。
- 不提供将地理数据库降级到先前版本的正式机制。如果升级到新版本后想要退回到该地理数据库的旧版本,则必须从备份中恢复旧数据库。
在升级 Oracle 中的地理数据库之前,还必须完成以下步骤:
- 检查 ArcGIS 资源中心以确保数据库、操作系统和其他组件至少满足最低系统要求。
更新您的地理数据库之前,必须采用受支持的数据库版本且硬件必须至少符合最低的系统要求。
- 确保已安装 Oracle Text 组件。
在 Oracle 10g 和 11g 中会默认安装 Text 组件;然而,如果您没有选择默认安装,则有可能未安装 Text 组件。
要查看是否已安装该组件,请在作为 SYSTEM 或拥有 DBA 权限的用户登录到数据库时执行以下 SQL 语句:
如果没有返回记录,则 Text 组件没有安装。请运行 Oracle 安装程序以安装 Text 组件。SELECT owner, object_name FROM all_objects WHERE object_type = 'PACKAGE' AND object_name = 'CTX_DDL';
- 创建数据库的备份。
- 如果使用 ArcSDE 服务进行连接并在 SDEHOME 的 etc 目录中自定义了任何文件,需创建这些文件的副本。
-
移除任何您可能已添加到 ArcGIS 外部的 ArcSDE 地理数据库系统表中的任何自定义功能,例如触发器或其他索引。
升级程序无法识别对系统表的自定义修改。如果类似的自定义修改禁止更改系统表方案,升级将会失败。
- 对于仅使用 ArcSDE 服务的 IBM AIX 用户:如果要在 AIX 上安装,建议在升级或安装 ArcSDE 之前运行 slibclean 以从内存中清除非活动的库。停止当前的 ArcSDE 服务,然后以超级用户身份运行 slibclean。有关 slibclean 命令的详细信息,请参阅 AIX 系统管理员文档。
-
向地理数据库管理员授予升级地理数据库所需的权限。
有关所需权限的列表,请参阅 Oracle 地理数据库的用户权限。
- 在能够直连到地理数据库的计算机上安装当前版本的 ArcGIS 客户端(ArcGIS for Desktop Standard 或 Advanced、具有 Geodatabase Update 扩展模块的 ArcGIS Engine 或 ArcGIS for Server Enterprise Standard 或 Advanced)以执行升级。
-
必须从 ArcGIS 直接连接到 Oracle 才能升级地理数据库。因此,确保在安装了 ArcGIS 客户端的计算机上安装和配置了 Oracle 客户端。
当通过 32 位 ArcGIS 客户端(如 ArcGIS for Desktop 或 ArcGIS Engine)连接时,您必须安装并配置 32 位 Oracle 客户端。如果从 64 位 ArcGIS 客户端(如 ArcGIS for Server)进行连接,则必须安装并配置 64 位 Oracle 客户端。
- 如果直接从 SQL 或 ArcGIS Spatial Data Server 访问数据,则将 Oracle 服务器上的现有 st_shapelib 替换为新版本的库。可在您的 ArcGIS 客户端安装位置中的 DatabaseSupport 文件目录中找到新的 st_shapelib 文件。
确保复制适合 Oracle 服务器操作系统的库。
如果将该库放置到 Oracle 服务器上与以前不同的目录中,则必须将 extproc 重新配置为指向新库位置,然后重新启动 Oracle 监听器。有关详细信息,请参阅配置 Oracle extproc 以使用 SQL 访问地理数据库。
- 如果使用地理数据库中的 ST_Raster 存储类型,则将 Oracle 服务器上的现有 libst_raster_ora 文件替换为新版本的库。可在您的 ArcGIS 客户端安装位置中的 DatabaseSupport 文件目录中找到新的 libst_raster_ora 文件。
确保复制适合 Oracle 服务器操作系统的库。
- 确保没有任何用户连接到正在升级的地理数据库。如果您正在升级 sde 主地理数据库,也请确保没有任何用户连接到 Oracle 数据库中的任何用户方案地理数据库。
您可以通过在 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 应用程序服务器。