升级 Oracle 中的地理数据库 (geodatabase) 的准备工作
在升级包括地理数据库在内的任何企业系统时,必须事前进行规划。在开发服务器或测试服务器上对新版本进行测试,以确保其适用于所有的客户端应用程序。
在确定了新系统会按预期进行工作后,请计划升级;确保必要的工作人员均可执行升级并且他们拥有完成指派的任务所必需的权限。
- 您可以直接从 ArcSDE 9.2、9.3 或 9.3.1 地理数据库升级到 ArcSDE 10。如果您的地理数据库是 9.1 版本或更早版本的地理数据库,则必须先升级到支持的版本,然后再升级到 ArcSDE 10。
- 不支持从软件的测试版本升级。
- 如果地理数据库是复本的一部分,则在同步前必须升级父地理数据库和子地理数据库。
- 没有将 ArcSDE 地理数据库降级到之前版本的正式机制。如果升级到更新的版本后想要降级该地理数据库,则必须从备份中恢复旧数据库。
- 升级地理数据库后,先前版本的 ArcGIS 将无法打开该地理数据库,因为较早版本的 ArcGIS 无法读取较新版本的地理数据库。
在升级 Oracle 中的地理数据库之前,还必须完成以下步骤:
- 检查 ArcGIS 资源中心以确保系统满足最低要求。
-
如果您要升级至 ArcSDE 10 for Oracle 并且当前正在使用 Oracle9i,则必须首先至少将 Oracle 数据库升级到 Oracle 10g R2。有关如何将现有 Oracle 安装程序与数据库迁移至新版本 Oracle 的信息,请参阅 Oracle 文档。
有关确切的 Oracle 版本和每个 ArcSDE for Oracle 安装程序所支持的补丁级别的详细信息,请参阅 ArcGIS 资源中心 (http://resources.esri.com) 上的 ArcGIS Server 系统要求,并导航至 ArcGIS 产品 > 服务器 > 系统要求 > 关系数据库管理系统 > Oracle。
- 确保已安装 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'
- 创建数据库的备份。
- 仅针对 IBM AIX 用户:如果要在 AIX 上安装,建议在升级或安装 ArcSDE 之前运行 slibclean 以从内存中清除非活动的库。停止当前的 ArcSDE 服务,然后以超级用户身份运行 slibclean。有关 slibclean 命令的详细信息,请参阅 AIX 系统管理员文档。
-
移除任何您可能已添加到 ArcGIS 外部的 ArcSDE 地理数据库系统表中的任何自定义功能,例如触发器或其他索引。
升级程序无法识别对系统表的自定义修改。如果类似的自定义修改禁止更改系统表方案,升级将会失败。
- 向 ArcSDE 管理员授予升级地理数据库所需的权限。
- 在能够直连到地理数据库的计算机上安装当前版本的 ArcGIS 客户端(ArcGIS Desktop ArcEditor 或 ArcInfo、具有 Geodatabase Update 扩展模块的 ArcGIS Engine Runtime 或 ArcGIS Server 标准版或高级版)以执行升级。注:
如果要通过 Linux 上的 ArcGIS 客户端将地理数据库升级到版本 10,必须对该客户端应用 10 SP1。有关执行此操作的具体原因,请参阅“ArcGIS 资源中心”上的技术文章 37974。
-
确保在安装了 ArcGIS 客户端的计算机上,已安装和配置 Oracle 客户端。
因为必须通过 ArcGIS 客户端与地理数据库建立直连才能对其进行升级,所以这是必要条件。有关详细信息,请参阅设置到 Oracle 的直连。
- 确保没有任何用户连接到正在升级的地理数据库。如果您正在升级 sde 主地理数据库,也请确保没有任何用户连接到 Oracle 数据库中的任何用户方案地理数据库。
您可以使用 sdemon 命令来检查此项。务必检查正在升级的地理数据库的连接,且在升级主地理数据库时,检查所有用户方案地理数据库的连接。有关说明,请参阅显示连接会话。
-
使用 sdemon –o shutdown 命令关闭所有正在运行的 ArcSDE 服务。如果服务运行于 Windows 服务器上,可在 Windows 服务 界面上停止服务而无需使用 sdemon 命令。
有关 sdemon 命令的详细信息,请参阅《ArcSDE 管理命令参考》中的命令语法。
- 卸载旧版 ArcSDE。有关说明,请参阅从 Windows 中卸载 ArcSDE 或从 Linux 或 UNIX 中卸载 ArcSDE。
- 在 Windows 中,将在卸载过程中提示您删除正在运行的 ArcSDE 服务(如果有)。如果正在安装 ArcSDE 的新版本,请单击是以删除服务。如果正在安装补丁包或修补程序,可以单击否并重新使用服务,除非补丁包或修补程序的说明指定您必须重新创建该服务。(例如,如果补丁包或修补程序在服务功能中进行了某些修复,您很可能需要重新创建该服务。)
- 安装 ArcSDE 的新版本。
在 Windows 操作系统上,请勿运行“安装后配置”向导。“安装后配置”向导只适用于全新安装。
如果在 Linux 上安装 ArcSDE 10,请应用 SP1。
注:如果将 ArcSDE 安装到与以前不同的位置,且之前版本的地理数据库中为 ST_Geometry 配置了 EXTPROC,则必须重新配置 listener.ora 文件以指向新库位置,并重新启动 Oracle 侦听器。(对于不同 ArcSDE 版本,UNIX 与 Linux 中的默认目录都不同。)有关详细信息,请参阅配置 Oracle 监听器以使用 SQL。
-
如果 ArcSDE 与 Oracle 数据库安装在不同的服务器上,则请从 SDEHOME 中的 bin (Windows) 或 lib (UNIX/Linux) 目录中将 st_shape 库复制到 ORACLE_HOME 的 lib 目录。如果要使用 ST_Raster 类型,另将 libst_raster_ora 库从 SDEHOME 复制到 ORACLE_HOME 目录。
有关详细信息,请参阅在不同的服务器上安装 Oracle 和 ArcSDE。
地理数据库现已为升级准备就绪。可以使用 ArcGIS Desktop 中的“升级地理数据库(Geodatabase)”工具或使用在 ArcGIS 客户端计算机上运行的 Python 脚本。