Upgrade Oracle RAC to 11.2.0.3 from 11.2.0.1 on Linux
目录
1 系统升级环境
2 升级前准备
3 安装OPATCH工具和PSU
4 升级GI/CRS到11.2.0.3
5 升级RDBMS到 11.2.0.3
6 升级DB
7 验证
1 系统升级环境
1.1 硬件环境
产品名称 | 产品描述 | 数量 |
服务器节点 | Cpu: Intel(R) Xeon(R) CPU E7- 4830 @ 2.13GHz memory:8G Core:4 Swap:6G | 2 |
共享存储 | 一块214G scsi硬盘 | 1 |
1.2 软件环境
分类 | 项目 | 说明 | 备注 |
主机 | 主机名 | S01,s02 |
|
操作系统 | Red hat as 5 | 5.8 | |
内核 | 2.6.18-308.el5 | x86_64 | |
数据库
| 数据库版本 | Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86-64 |
|
运行模式 | RAC |
| |
数据库名 | test |
| |
实例名 | Test1,test2 |
| |
ASM | +DATA,+FLASH,+OCR_VOTE |
|
存储 | ||||
组件 | 文件系统 | 卷大小 | ASM卷组名 | ASM冗余 |
OCR-VOTE | ASM | 3G | +OCR_VOTE | NOMAL |
数据库文件 | ASM | 110G | +DATA | EXTERNAL |
恢复区 | ASM | 110G | +FLASH | EXTERNAL |
1.3 网络环境
网络配置 | |||||
节点 | 公共IP | 私有IP | 虚拟IP | scan名称 | SCAN IP |
S01 | 172.31.2.36 | 192.168.0.2 | 172.31.2.251 | s-scan | 172.31.2.253 |
S02 | 172.31.2.62 | 192.168.0.3 | 172.31.2.63 |
1.4 相关目录对比
名称 | 升级前 | 升级后 |
GRID_BASE | /app/grid | /app/grid |
GRID_HOME | /app/11.2.0/grid | /app/11.2.0.3/grid |
ORACLE_BASE | /app/oracle | /app/oracle |
ORACLE_HOME | /app/oracle/product/11.2.0/db_1 | /app/oracle/product/11.2.0.3/db_1 |
2安装OPATCH工具和PSU
2.1 安装OPATCH
在所有节点上安装OPTATCH工具,安装此工具时不需要停止什么服务和进程。
首先用GRID用户移动备份原有的OPTATCH目录
[root@s01 ~]#su – grid
[grid@s01 ~]$mv $GRID_HOME/OPatch $GRID_HOME/OPatch_bak
然后,将下载的OPATCH介质解压到$GRID_HOME下,即可
[grid@s01 ~]$unzip /app/soft/p6880880_112000_Linux-x86-64.zip -d $CRS_HOME
注:Patch 6880880: OPatch 11.2 (patchid:6880880),是最新的opatch工具;
需要节点2上做以上操作。
2.2 安装PSU
1)切换到GRID用户,查询以前安装的补丁
[root@s01 ~]#su – grid
[root@s01 ~]#su – grid
[grid@s01 ~]$/app/11.2.0/grid/OPatch/opatch lsinventory -detail -oh $GRID_HOME
2)解压相应的PSU补丁
[grid@s01 ~]$unzip /app/soft/p9413827_112010_Linux-x86-64.zip
3)切换到ORACLE用户有,停止本地节点的相关DB HOME相关资源
[root@s01 ~]#su – oracle
[oracle@s01 ~]$srvctl stop home -o $ORACLE_HOME -n s01 -s stop_db_res
参考语法:
srvctl stop home -o [RDBMS_HOME] –n [node_name] -s [status file location]
4) ROOT用户执行rootcrs.pl -unlock命令
[root@s01 ~]# $GRID_HOME/crs/install/rootcrs.pl -unlock
5) ORACLE用户执行patch目录下的prepatch.sh脚本
[root@s01 ~]#su – oracle
[oracle@s01 ~]$cd /app/soft/
[oracle@s01 /app/soft/]$ 9413827/custom/server/9413827/custom/
scripts/prepatch.sh -dbhome $ORACLE_HOME
6)实际apply patch
grid用户执行以下命令
[root@s01 ~]#su - grid
[grid@s01 ]$cd /app/soft/9413827/
[grid@s01 ]$opatch napply -local -oh $GRID_HOME -id 9413827
oracle用户执行以下命令
[root@s01 ~]#su - oracle
[oracle@s01 ~]$cd /app/soft/9413827/
[oracle@s01 9413827]opatch napply custom/server/ -local -oh $ORACLE_HOME -id 9413827
7)配置HOME目录
以root用户执行以下命令
[root@s01 ~]#chmod +w $GRID_HOME/log/[nodename]/agent
[root@s01 ~]#chmod +w $GRID_HOME/log/[nodename]/agent/crsd
以ORACLE用户执行以下命令
[root@s01 ~]#su - oracle
[oracle@s01 ~]$cd /app/soft/9413827/
[oracle@s019413827]$ custom/server/9413827/custom/scripts/postpatch.sh –dbhome $ORACLE_HOME
8)以root用户重启CRS进程
[root@s01 ~]#$GRID_HOME/crs/install/rootcrs.pl -patch
[root@s01 ~]# $ORACLE_HOME/bin/srvctl start home -o $ORACLE_HOME -s $STATUS_FILE -n nodename
9)验证补丁安装成功
[grid@s01 ~]opatch lsinventory -detail -oh $GRID_HOME
[oracle@s01 ~]opatch lsinventory -detail -oh $ORACLE_HOME
注:以上步聚需要两节点操作,最好一节点操作成功后再操作另一节点。
3 升级前准备
3.1 备份数据库
为保证万无一失,在升级前最好对数据库做一次全备,并验证其有效性。
3.2 配置新的GRID_HOME,ORACLE_HOME
分别在两节点上创建目录,并配置相应的属组和权限。
[root@s01 ~]#mkdir –p /app/oracle/product/11.2.0/db_1
[root@s01 ~]#mkdir –p /app/11.2.0.3/grid
[root@s01 ~]#chown –R grid:oinstall /app/11.2.0.3/grid
[root@s01 ~]#chown –R oracle:oinstall /app/oracle/product/11.2.0/db_1
[root@s01 ~]#chmod –R 755/app/11.2.0.3/grid
[root@s01 ~]#chmod –R 755 /app/oracle/product/11.2.0/db_1
3.3 升级前检查
[grid@s01 ~]unzip p10404530_112030_Linux-x86-64_3of7.zip
[grid@s01 ~]$./runcluvfy.sh stage -pre crsinst -upgrade -n all -rolling -src_crshome /app/11.2.0/grid -dest_crshome /app/11.2.0.3/grid -dest_version 11.2.0.3.0
确定可以满足升级需求时,往下进行安装
4升级GI/CRS到11.2.0.3
4.1 安装GI/CRS PATCH
以GRID用户启动GI/CRS的OUI安装界面
[grid@s01 ~]$unset GRID_HOME GRID_BASE ORACLE_SID
[grid@s01 ~]$ cd /app/patch/grid
[grid@s01 ~]$ ./runInstaller
1)选择skip software updates,并下一步
2 )选择update oracle grid,并下一步
3 ) 选择ENGLISH,并下一步
4)确认信息后下一步
5)确认信息后并下一步
6)填写新的GRID_HOME,并下一步
7 )确认可以满足需求时,下一步
8 )分别在两个节点上按序执行下列脚本
[root@s01 ~]#/app/11.2.0.3/grid/rootupdate.sh
[root@s02 ~]#/app/11.2.0.3/grid/rootupdate.sh
注:在正式执行rootupgrade.sh之前数据库服务在所有节点上都是可用的,而在执行rootupgrade.sh脚本期间,本地节点的CRS将短暂关闭,其它节点正常使用;
为解决 unpublished bug 10011084 and unpublished bug 10128494,在两节点执行rootupgrade.sh之前,需要修改crsconfig_lib.pm参数文件,修改方式如下:
[root@s01 ~]#cp $NEW_CRS_HOME/crs/install/crsconfig_lib.pm
$NEW_CRS_HOME/crs/install/crsconfig_lib.pm.bak
[root@s01 ~]#vi $NEW_CRS_HOME/crs/install/crsconfig_lib.pm
@cmdout = grep(/$bugid/, @output);
修改为:
@cmdout = grep(/(9655006|9413827)/, @output);
@exp_func = qw(check_CRSConfig validate_olrconfig validateOCR
修改为:
@exp_func = qw(check_CRSConfig validate_olrconfig validateOCR read_file
4.2 验证
[root@s01 ~]#su – grid
[root@s01 ~]$crsctl query crs activeversion
注:更新bash_profile , 将GRID_HOME、ORACLE_HOME、PATH等变量指向新的目录
5升级RDBMS到 11.2.0.3
以oracle用户启动GI/CRS的OUI安装界面
[oralce@s01 ~]$unset ORACLE_HOME ORACLE_BASE ORACLE_SID
[oracle@s01 ~]$cd /app/patch/database
[oracle@s01 ~]$ ./runInstaller
1) 可根据情况填写,并下一步
2)选择skip software update,并下一步
3)选择upgrade an existing database,并下一步
4 )确认信息后下一步
5)语言推荐选择English,并下一步
6)选择企业版,并下一步
7)填写、核实新的ORACLE_BASE,ORACLE_HOME,并下一步
8)核实OS权利组,并下一步
9)下一步
10)下一步
11)下一步
12)两节点上分别执行下列脚本
[root@s01 ~]# /app/oracle/product/11.2.0.3/db_1/root.sh
[root@s02 ~]# /app/oracle/product/11.2.0.3/db_1/root.sh
6升级DB
在最后一个节点执行以上脚本后,会以OUI形式DBUA
1)下一步
2)下一步
3)选择第一项后,并下一步
4)选择快速恢复区位置和大小,并一下步
5 )RDBMS升级完毕
7验证
[root@s01 ~]#su – oracle
[oracle@s01 ~]#sqlplus / as sysdba
检查对象的有效性
Select * from dba_invalid_objects;
检查各组件版本号及其状态
SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRYSELECT