ORACLE 10gR2 RAC升级至10204.docx
《ORACLE 10gR2 RAC升级至10204.docx》由会员分享,可在线阅读,更多相关《ORACLE 10gR2 RAC升级至10204.docx(23页珍藏版)》请在冰豆网上搜索。

ORACLE10gR2RAC升级至10204
由于涉及的节点、实例多于一个,因此RAC环境下的ORACLE数据库升级包含多个步骤,某些操作执行的先后顺序也有讲究,不是想停就停、想升就升、想启就启的,这点与单实例数据库的操作有很大差异。
提示:
升级包的readme中强调,在升级数据库软件前,要保障clusterware的版本不低于目标数据库软件版本,也就是说要在升级数据库软件前首先升级clusterware,不过实际操作中10203及之前版本并不强制要求,10204的补丁包倒是会在升级前检测clusterware的版本,如有异常会提示警告信息,不过各位读友仍可根据自身实际情况选择是否升级clusterware。
一、停止相关进程
对于RAC数据库,首先要停止所有节点中的Service(服务,如果创建了service的话),在任意节点中执行操作如下:
[oracle@jssdbn1 ~]$ $ORA_CRS_HOME/bin/srvctl stop service -d jssdb
停止RAC数据库中所有实例,本步操作即可以登陆每个节点的sqlplus,执行shutdown,也可以通过srvctl命令关闭数据库,例如:
[oracle@jssdbn1 ~]$ $ORA_CRS_HOME/bin/srvctl stop database -d jssdb
接着停止ASM实例和监听服务,执行命令如下:
[oracle@jssdbn1 ~]$ $ORA_CRS_HOME/bin/srvctl stop asm -n jssdbn1
[oracle@jssdbn1 ~]$ $ORA_CRS_HOME/bin/srvctl stop asm -n jssdbn2
[oracle@jssdbn1 ~]$ $ORA_CRS_HOME/bin/srvctl stop listener -n jssdbn1
[oracle@jssdbn1 ~]$ $ORA_CRS_HOME/bin/srvctl stop listener -n jssdbn2
上述命令完成后,可以通过crs_stat查看当前app的状态
[oracle@jssdbn1 ~]$ $ORA_CRS_HOME/bin/crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.jssdb.db application OFFLINE OFFLINE
ora....n1.inst application OFFLINE OFFLINE
ora....n2.inst application OFFLINE OFFLINE
ora....SM1.asm application OFFLINE OFFLINE
ora....N1.lsnr application OFFLINE OFFLINE
ora....bn1.gsd application ONLINE ONLINE jssdbn1
ora....bn1.ons application ONLINE ONLINE jssdbn1
ora....bn1.vip application ONLINE ONLINE jssdbn1
ora....SM2.asm application OFFLINE OFFLINE
ora....N2.lsnr application OFFLINE OFFLINE
ora....bn2.gsd application ONLINE ONLINE jssdbn2
ora....bn2.ons application ONLINE ONLINE jssdbn2
ora....bn2.vip application ONLINE ONLINE jssdbn2
可以看到,数据库实例以及相关服务均被offline。
此时,建议创建一份数据库的完整备份。
接下来我们就要对安装补丁包了。
提示:
上述操作也是标准的RAC环境数据库shutdown过程。
二、安装clusterware补丁集
首先以oracle用户登陆到视窗界面(如果以root用户登陆后su到oracle下的话,注意设置环境变量DISPLAY,或在执行su命令前执行xhost +命令),找到补丁包的路径,执行runInstaller即可:
[root@jssdbn1 ~]# xhost +
access control disabled, clients can connect from any host
[root@jssdbn1 ~]# su - oracle
[oracle@jssdbn1 ~]$ cd /data/software/oraupdate/Disk1/
[oracle@jssdbn1 Disk1]$ ./runInstaller
Starting Oracle Universal Installer...
Checking installer requirements...
Checking operating system version:
must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
Passed
.........................
.........................
弹出OUI的欢迎窗口如下,直接点击下一步:
选择软件的目录,这里我们要首先选择OraCrs10g的主目录,点击Name中的下拉框:
OUI自动选中的cluster的安装方式,并选中了所有可用的节点:
安装环境的检查,如无异常,直接点击下一步即可:
显示摘要信息,如无异常点击install:
文件复制中:
提示安装结束:
图形界面操作完成,不过认真看了窗口中提示信息的朋友(就是Please remember下面的信息),会发现接下来还需要执行两个命令,具体操作如下:
首先在节点1上执行下列命令,注意是root用户执行哟:
[root@jssdbn1 software]# /data/ora10g/product/10.2.0/crs_1/bin/crsctl stop crs
Stopping resources.
Successfully stopped CRS resources
Stopping CSSD.
Shutting down CSS daemon.
Shutdown request successfully issued.
[root@jssdbn1 software]# /data/ora10g/product/10.2.0/crs_1/install/root102.sh
Creating pre-patch directory for saving pre-patch clusterware files
Completed patching clusterware files to /data/ora10g/product/10.2.0/crs_1
Relinking some shared libraries.
Relinking of patched files is complete.
WARNING:
directory ¨/data/ora10g/product/10.2.0¨ is not owned by root
WARNING:
directory ¨/data/ora10g/product¨ is not owned by root
WARNING:
directory ¨/data/ora10g¨ is not owned by root
WARNING:
directory ¨/data¨ is not owned by root
Preparing to recopy patched init and RC scripts.
Recopying init and RC scripts.
Startup will be queued to init within 30 seconds.
Starting up the CRS daemons.
Waiting for the patched CRS daemons to start.
This may take a while on some systems.
.
10204 patch successfully applied.
clscfg:
EXISTING configuration version 3 detected.
clscfg:
version 3 is 10G Release 2.
Successfully accumulated necessary OCR keys.
Using ports:
CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.
node :
node 1:
jssdbn1 jssdbn1-priv jssdbn1
Creating OCR keys for user ¨root¨, privgrp ¨root¨..
Operation successful.
clscfg -upgrade completed successfully
随后,在节点2上执行相同命令,操作如下:
[root@jssdbn2 ~]# /data/ora10g/product/10.2.0/crs_1/bin/crsctl stop crs
Stopping resources.
Successfully stopped CRS resources
Stopping CSSD.
Shutting down CSS daemon.
Shutdown request successfully issued.
[root@jssdbn2 ~]# /data/ora10g/product/10.2.0/crs_1/install/root102.sh
Creating pre-patch directory for saving pre-patch clusterware files
Completed patching clusterware files to /data/ora10g/product/10.2.0/crs_1
Relinking some shared libraries.
Relinking of patched files is complete.
WARNING:
directory ¨/data/ora10g/product/10.2.0¨ is not owned by root
WARNING:
directory ¨/data/ora10g/product¨ is not owned by root
WARNING:
directory ¨/data/ora10g¨ is not owned by root
WARNING:
directory ¨/data¨ is not owned by root
Preparing to recopy patched init and RC scripts.
Recopying init and RC scripts.
Startup will be queued to init within 30 seconds.
Starting up the CRS daemons.
Waiting for the patched CRS daemons to start.
This may take a while on some systems.
.
10204 patch successfully applied.
clscfg:
EXISTING configuration version 3 detected.
clscfg:
version 3 is 10G Release 2.
Successfully accumulated necessary OCR keys.
Using ports:
CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.
node :
node 2:
jssdbn2 jssdbn2-priv jssdbn2
Creating OCR keys for user ¨root¨, privgrp ¨root¨..
Operation successful.
clscfg -upgrade completed successfully
三、安装数据库软件补丁集
由于前面执行root102.sh时,会自动重新crs,因此在升级数据库软件前,需要执行第一小节中,停止相关进程的操作,比如依次关闭数据库、ASM、监听等服务。
接下来在视窗界面中再次执行Disk1/runInstaller,弹出OUI的欢迎界面后,点击下一步,这次选择OracDb的主目录:
OUI自动选中了cluster的安装方式:
检查环境:
提示是否要绑定metalink,可以根据实际情况进行选择:
概要预览,如无问题直接点击install:
开始执行安装,视I/O速率,本步操作可能需要费时良久:
在此期间,OUI会自动弹出窗口如下,提示在RAC环境中的各个节点执行指定的脚本,注意是以root身份执行的哟:
脚本执行完成后,返回视窗界面,点击ok按钮即可,补丁集就更新完了,点击exit退出当前操作界面。
四、升级数据库
对于RAC数据库环境下的升级,首先需要启动各节点的监听服务,操作如下:
[oracle@jssdbn1 bin]$ ./srvctl start listener -n jssdbn1
[oracle@jssdbn1 bin]$ ./srvctl start listener -n jssdbn2
然后启动各节点的asm实例,操作如下:
[oracle@jssdbn1 bin]$ ./srvctl start asm -n jssdbn1
[oracle@jssdbn1 bin]$ ./srvctl start asm -n jssdbn2
随后查询crs_stat,确保监听服务已启动:
[oracle@jssdbn1 bin]$ ./crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.jssdb.db application OFFLINE OFFLINE
ora....n1.inst application OFFLINE OFFLINE
ora....n2.inst application OFFLINE OFFLINE
ora....SM1.asm application ONLINE ONLINE jssdbn1
ora....N1.lsnr application ONLINE ONLINE jssdbn1
ora....bn1.gsd application ONLINE ONLINE jssdbn1
ora....bn1.ons application ONLINE ONLINE jssdbn1
ora....bn1.vip application ONLINE ONLINE jssdbn1
ora....SM2.asm application ONLINE ONLINE jssdbn2
ora....N2.lsnr application ONLINE ONLINE jssdbn2
ora....bn2.gsd application ONLINE ONLINE jssdbn2
ora....bn2.ons application ONLINE ONLINE jssdbn2
ora....bn2.vip application ONLINE ONLINE jssdbn2
这里三思决定使用dbua命令,通过视窗界面升级数据库:
选择要升级的(并且当前可用的数据库),这里只有一个并已被默认选中,输入sys用户密码:
选择是否在升级后自动编译无效的对象,默认是选中的:
开始执行升级,本步操作较多,费时较久,请耐心等待:
上述操作完成后,点击ok即可,OUI弹出整个操作的返回结果,如图所示:
点击close按钮关闭窗口。
此时可以登陆任意节点,以sqlplus命令行连接进去执行查询:
[oracle@jssdbn1 ~]$ sqlplus "/ as sysdba"
SQL*Plus:
Release 10.2.0.4.0 - Production on Wed Nov 18 13:
17:
39 2009
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
SQL> set line 150 pages 1000
SQL> select * from gv$instance;
INST_ID INSTANCE_NUMBER INSTANCE_NAME HOST_NAME VERSION STARTUP_T STATUS
---------- --------------- ---------------- ---------------------------------------------------------------- ----------------- --------- ------------
PAR THREAD# ARCHIVE LOG_SWITCH_WAIT LOGINS SHU DATABASE_STATUS INSTANCE_ROLE ACTIVE_ST BLO
--- ---------- ------- --------------- ---------- --- ----------------- ------------------ --------- ---
1 1 jssdbn1 jssdbn1 10.2.0.4.0 18-NOV-09 OPEN
YES 1 STOPPED ALLOWED NO ACTIVE PRIMARY_INSTANCE NORMAL NO
2 2 jssdbn2 jssdbn2 10.2.0.4.0 18-NOV-09 OPEN
YES 2 STOPPED ALLOWED NO ACTIVE PRIMARY_INSTANCE NORMAL NO
SQL>
OK,返回信息显示无误,升级完成!