环境
操作系统 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
改成新的,并使其生效。