oracle RAC 10.2.0.1升级到10.2.0.4    

一、停止数据库相关进程
分别在两台机器上停止数据库
sqlplus "/as sysDBA";
sql>shutdown immediate
lsnrctl stop

也可以用srvctl工具在一个节点上完成
$ORA_CRS_HOME/bin/srvctl stop service -d rac  停止service.(对于RAC数据库,首先要停止所有节点中的Service服务,如果创建了service的话)
$ORA_CRS_HOME/bin/srvctl stop database -d rac 停止RAC数据库中所有实例
$ORA_CRS_HOME/bin/srvctl stop listener -n racnode1 停止节点racnode1上监听
$ORA_CRS_HOME/bin/srvctl stop listener -n racnode2 停止节点racnode2上监听
如果有ASM,需要关闭ASM

二、安装clusterware补丁
su - oracle
cd /home/oracle/Disk1
./runInstaller
弹出OUI的欢迎窗口后,直接点击下一步:
选择软件的目录,这里我们要首先选择OraCrs10g的主目录,点击Name中的下拉框,选择oracrs10g_home
OUI 自动选中了所有可用的节点,直接点击下一步
安装环境的检查,如无异常,直接点击下一步即可:(在安装oracle软件时没有问题的话,这个应该也没有太大问题)
显示摘要信息,如无异常点击install
安装结束退出(在结束的时候,会出现一个提示信息,让你分别关掉两个节点的crs服务,并执行root102.sh脚本,步骤如下)

以root用户登陆
/etc/init.d/init.crs stop
sh $ORA_CRS_HOME/install/root102.sh (其中$ORA_CRS_HOME在root用户中没有定义环境变量,请输入实际的全路径)

三、安装数据库软件补丁
由于前面执行root102.sh时,会自动重新crs,因此在升级数据库软件前,需要执行第一步中停止相关进程的操作,比如依次关闭数据库、监听等服务
弹出OUI的欢迎窗口后,直接点击下一步:
选择软件的目录,这里我们要首先选择OracDb的主目录,点击Name中的下拉框,选择oradb10g_home1
OUI 自动选中了所有可用的节点,直接点击下一步
安装环境的检查,如无异常,直接点击下一步即可
提示是否要绑定metalink,可以根据实际情况进行选择
如无问题直接点击install
在此期间,OUI会自动弹出窗口如下,提示在RAC环境中的各个节点执行指定的root.sh脚本,注意是以root身份执行:

四、升级数据库(可以通过两种方法来实现,dbua和执行脚本的方式)
首先我们以dbua图形界面的方式来实现
对于RAC数据库环境下的升级,首先需要启动各节点的监听服务,操作如下:
$ORA_CRS_HOME/bin/srvctl start listener -n racnode1
$ORA_CRS_HOME/bin/srvctl start listener -n racnode2
如果有ASM,需要打开ASM实例和mount asm磁盘组
执行dbua命令,通过视窗界面选择升级数据库:
选择要升级的(并且当前可用的数据库),这里只有一个并已被默认选中,然后输入sys用户密码:
选择是否在升级后自动编译无效的对象,默认是选中的,直接按下一步
开始执行升级,本步操作较多,费时较久,请耐心等待:
述操作完成后,点击ok即可,OUI弹出整个操作的返回结果
点击close按钮关闭窗口。
此时可以登陆任意节点,以sqlplus命令行连接进去查询数据库的版本:
sqlplus "/ as sysdba"
sql>select * from gv$instance;
确认无误后,升级完成

另一种方法是以脚本的方式来实现
在升级数据库的时候,要确保crs的相关服务和监听服务都要启动
启动到nomount状态修改参数
sqlplus "/as sysdba"
SQL>STARTUP NOMOUNT
SQL> ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=spfile;
SQL> SHUTDOWN
重建数据字典
SQL> STARTUP UPGRADE
SQL> SPOOL patch.log
SQL> @$ORACLE_HOME/rdbms/admin/catupgrd.sql #此处执行时间较长
SQL> SHUTDOWN IMMEDIATE
SQL> SPOOL OFF
编译无效对象
SQL> STARTUP
SQL>@$ORACLE_HOME/rdbms/admin/utlrp.sql
SQL>ALTER SYSTEM SET CLUSTER_DATABASE=TRUE scope=spfile;
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
升级后检查升级是否成功
su – oracle
sqlplus "/as sysdba"
SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
SQL>select * from gv$instance;
标签: 暂无标签
oraunix

写了 199 篇文章,拥有财富 1026,被 339 人关注

转播转播 分享分享1 分享淘帖
回复

使用道具

P3 | 发表于 2011-1-2 23:35:58
谢谢老师,很详细的步骤
回复

使用道具

P3 | 发表于 2011-5-3 18:20:43
老师,如果是单节点的话 就不需要 安装clusterware补丁, 别的步骤都是相同 ?
回复

使用道具

P3 | 发表于 2011-5-7 12:07:54
顶。。。打补丁不是小事情啊!非常重要
回复

使用道具

P4 | 发表于 2012-7-5 13:48:15
我觉着,这个步骤少了备份,因为对数据库做操作之前,备份是必须的,要备份安装目录等
回复

使用道具

P3 | 发表于 2012-7-5 15:48:29
嗯。值得保留。升级之前,一定要备份。
回复

使用道具

P5 | 发表于 2012-12-28 14:37:13
好东西!
回复

使用道具

P4 | 发表于 2013-2-21 11:31:09
学习了,非常详细
回复

使用道具

您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

意见
反馈