这里需要说明的是,我的初始版本为:10.2.0.1;我需要升级到的版本是:10.2.0.5。
你需要在Oracle的Support网站MOS上下载补丁包:p8202632_10205_Linux-x86-64.zip。

集群件和数据库的补丁包都是同一介质。

在我的环境中,集群件与数据库软件是分别用两个用户配置的,分别为:grid与oracle。

一、集群件
集群件的升级很容易。
通过grid登录系统,运行补丁包中的”./runInstaller”。
有可能直接运行无法开启OUI,可以忽略OUI的运行前检查:./runInstaller -ignoreSysPrereqs

然后是图形化中傻瓜式的下一步,最后分别在两个节点上按照OUI的提示,执行对应的脚本即可。

二、数据库软件
通过oracle登录系统,以忽略预检查的方式运行OUI程序。
需要注意的是,你需要彻底停掉RAC环境,否则安装过程中会提示你一些后台进程需要关闭。
如下:
while_upgrade_1
1. sqlplus –> shutdown immediate
2. crsctl stop crs (Each Node)

三、数据库实例
如果你的数据库实例是通过10201的版本创建的,那么在成功升级到10205之后,是无法直接拉起数据库的。
你会遇到如下错误:

关于这个异常更详细的日志内容如下:
alert日志:

通过如上日志信息可以看到:数据库实例需要升级。

数据库实例的升级:
有两种方式:DBUA或者手动升级
一、DBUA
Oracle用户,执行:dbua

图形化步骤:
dbua_1

dbua_2

dbua_3

dbua_4

dbua_5

dbua_6

dbua_7

dbua_8

dbua_9

dbua_10

dbua_11

dbua_12

查看下数据库的当前状态:

这样就升级完成了。

注意:在RAC中,数据库的实例升级,可以在其中一个节点上操作,另一个节点关闭,升级成功后,再按照正常的方式打开另一个节点的库即可。

二、手动升级
以Upgrade方式启动数据库:

alert日志:

重建数据字典:$ORACLE_HOME/rdbms/admin/catupgrd.sql

该脚本的执行时间较长。

最后执行完的时候的呈现如下:

在该过程中的alert日志的情况:

重启数据库

重新编译无效的PL/SQL程序包:

这样,数据库实例的升级就完成了。

查看一下当前的数据库组件的状态:

查看数据库版本:

确认是否有无效对象:

:关于Oracle RAC数据库实例的手动升级部分也可以参考往期日志,得到更详细的描述:d-prototype.com/archives/2319
——————————————————
Done。

2 thoughts on “关于10g RAC的升级(10.2.0.1 –> 10.2.0.5):DBUA and Manual”

  1. 其实,昨天在写这边文档的时候,是没有意识到过去在本站也写过同样的文章的,…
    这说明人的记忆力真的很难靠得住。
    其次,这次写的升级方案和过去的那篇升级方案里,有一些细节是没有估计到的。
    这也说明了很多的事情,一段时间没有做了,就真的和初见一般,…
    人,应该看清自己,不该仰仗过去的得到而恃才傲物,因为记忆与自我认知都不是以为的那么可靠,你自认为的那种才华与成就又凭什么就一定可靠?
    对于真正的能者来说,谦卑与客观是必备的品格。
    除却这两点,很难相信一个人的作为是靠谱的,因为他们的实现与他们自己的所想的偏差,有时候都是自己难以容忍的。更何况超脱个人之外的更高水准的要求?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

隐藏
变装