环境

操作系统 windows 2008R2

原库版本:oracle 11.2.0.1

升级版本:oracle 11.2.0.4

升级方式:软件包升级


问题描述

近几天有同事反应在windows 2008R2环境下通过oracle 11.2.0.4对原有数据库进行升级时,升级完成后发现原库的dblink都不能正常使用,开始以为他们是软件升级失败导致的,亲测一次,果真如此。即使将原有dblink语句重新编译一遍,仍会报错。

查阅官网未找到相应的说明,最开始猜测该种情况是bug所致,经过多次测试发现原来是升级过程中操作所致,正确的操作步骤如下。


正确升级步骤


(1) 解压安装包;

(2) 在解压生成的database目录下,以管理员身份运行setup

(3) 勾选:不希望收到有关配置中的严重安全问题的通知

(4) 勾选:跳过软件更新

(5) 勾选:升级现有数据库

(6) 勾选:简体中文 和 英文

(7) 勾选:企业版

(8) oracle base:默认

(9) software location:

原:D:\app\Administrator\product\11.2.0\dbhome_1

现改为:D:\app\Administrator\product\11.2.0.4\dbhome_2

(10) 先决条件检查

(11) 概要

(12) 大概安装到80%,出现oracle netca程序,配置监听→勾选“执行典型配置”→下一步。

(13) 大概安装到90%出现dbua程序:

并行度(默认)→勾选“升级过程中不移动数据文件”→指定要创建的数据库文件的位置→恢复和诊断位置 默认:E:\app\Administrator\flash_recovery_area→概要→开始升级

(14) 查看升级报告,可以通过“配置数据库口令”查看是否有升级用户被锁。

(15) 查看数据库升级后版本:select * from v$version;

(16) 检查数据库的各组件是否成功升级:

SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;


注意以上红色标注的部分,否则升级完成后,原来的dblink很可能无法正常使用,只能通过重建dblink的方式去解决。

说明:若操作系统是linux时,要注意升级完成后,将$ORACLE_HOME和$PATH改成新的,并使其生效。