rac upgrade;from 11.2.0.1 to 11.2.0.3
总结:
1、 升级GI and ASM
1-1、升级optch version --(p6880880)
1-2、打补丁9413827 --注意:打补丁前需当前实例执行rootcrs.pl -unlock
1-3、Out of place升级GI ;先升级ASM后升级GI (./runInstaller)
1-3-1:新目录安装11.2.0.3 GI软件
1-3-2:直接升级GI ;执行rootupgrade.sh 先升级ASM 后Oracle cluster
注:rootupgrade.sh执行其中一个节点成功了,另一个节点HANG住或中断这个时间可能会提示你重启,你必须先设置新的GRID环境变量
2、 升级Oracle Database
2-1、Out of place 升级Oracle Database (./runInstaller)
2-1-1:新目录安装11.2.0.3 Database软件
2-1-2:直接升级原有的RDBMS
操作步骤
1.建立升级所需目录
--oracle用户
ORACLE_BASE=/u01/app/oracle03
ORACLE_HOME=/u01/app/oracle03/03
mkdir -p /u01/app/oracle03/03
chown oracle:oinstall /u01/app/oracle03/03 -R
chmod 775 /u01/app/oracle03/03 -R
--grid用户
export ORACLE_HOME=/u01/11.2.0.3
mkdir -p /u01/11.2.0.3
chown grid:oinstall /u01/11.2.0.3 -R
chmod 775 /u01/11.2.0.3 -R
2.检查当前oracle database、oracle clusterware状态
2-1.当前oracle database版本
BANNER
-------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
2-2.当前oracle database 组件
select comp_name,version,status from dba_registry;
COMP_NAME VERSION STATUS
---------------------------------------- --------------- --------------------
OWB 11.2.0.1.0 VALID
Oracle Application Express 3.2.1.00.10 VALID
Oracle Enterprise Manager 11.2.0.1.0 VALID
OLAP Catalog 11.2.0.1.0 VALID
Spatial 11.2.0.1.0 VALID
Oracle Multimedia 11.2.0.1.0 VALID
Oracle XML Database 11.2.0.1.0 VALID
Oracle Text 11.2.0.1.0 VALID
Oracle Expression Filter 11.2.0.1.0 VALID
Oracle Rules Manager 11.2.0.1.0 VALID
Oracle Workspace Manager 11.2.0.1.0 VALID
Oracle Database Catalog Views 11.2.0.1.0 VALID
Oracle Database Packages and Types 11.2.0.1.0 VALID
JServer JAVA Virtual Machine 11.2.0.1.0 VALID
Oracle XDK 11.2.0.1.0 VALID
Oracle Database Java Packages 11.2.0.1.0 VALID
OLAP Analytic Workspace 11.2.0.1.0 VALID
Oracle OLAP API 11.2.0.1.0 VALID
Oracle Real Application Clusters 11.2.0.1.0 VALID
19 rows selected.
2-3.当前oracle clusterware版本
[oracle@racdou02 app]$ crsctl query crs softwareversion racdou01
Oracle Clusterware version on node [racdou01] is [11.2.0.1.0]
[oracle@racdou02 app]$ crsctl query crs softwareversion racdou02
Oracle Clusterware version on node [racdou02] is [11.2.0.1.0]
[root@racdou01 ~]# crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [11.2.0.1.0]
2-4.当前GI版本(grid)
select * from v$version;
BANNER
-------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 – Production
3.升级前备份
3-1.数据库备份RMAN全备(省略)
备份oracle_home,crs_home
tar -zcvf app.tar.gz app/ --压缩
tar -zxvf app.tar.gz --解压
3-2.检查votedisk和ocr备份
[oracle@racdou02 u01]$ crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 38c99c120ba14f72bf9639a4f409c603 (/dev/asm-data02) [DATA]
Located 1 voting disk(s).
[oracle@racdou02 u01]$ ocrconfig -showbackup
racdou01 2013/08/08 19:14:18 /u01/app/11.2.0/grid/cdata/dou_rac/backup00.ocr
racdou01 2013/08/08 15:14:27 /u01/app/11.2.0/grid/cdata/dou_rac/backup01.ocr
racdou01 2013/08/06 02:45:46 /u01/app/11.2.0/grid/cdata/dou_rac/backup02.ocr
racdou01 2013/08/08 15:14:27 /u01/app/11.2.0/grid/cdata/dou_rac/day.ocr
racdou01 2013/08/05 18:45:44 /u01/app/11.2.0/grid/cdata/dou_rac/week.ocr
PROT-25: Manual backups for the Oracle Cluster Registry are not available
3-4.手动备份OCR
虽然oracle可以自动备份,兜兜还是决定手动备份一份,11gr2只备份OCR就够了
在Oracle11g R2中,不必备份voting disk, 当任何配置发生改变,voting disk
数据会自动备份在OCR中,并自动恢复到任何加入的voting disk中。
http://space.itpub.net/35489/viewspace-683852
备份OCR
[root@racdou02 ~]# ocrconfig -export /u01/app/11.2.0/grid/cdata/dou_rac/manual.ocr
恢复OCR
[root@racdou02 ~]#ocrconfig -restore /u01/app/11.2.0/grid/cdata/dou_rac/manual.ocr
备份asmdisk header
select path from v$asm_disk;
[grid@racdou02 dou_rac]$ kfed read /dev/asm-data01 text=/u01/asm-data01-disker
恢复amdisk header
[grid@racdou02 dou_rac]$ kfed merge /dev/asm-data01 text=/u01/asm-data01-disker
以上备份完毕
4.升级前检验(是否满足升级条件)
[grid@racdou01 grid]$ ./runcluvfy.sh stage -pre crsinst -upgrade -n racdou01,racdou02 -rolling -src_crshome $ORACLE_HOME -dest_crshome $ORACLE_HOME -dest_version 11.2.0.3.0 -fixup -fixupdir /tmp -verbose
总结一下检查失败的部分与解决方案
正在检查主机配置文件...
节点名 状态 注释
------------ ------------------------ ------------------------
racdou02 失败 条目无效
racdou01 失败 条目无效
ERROR:
注释掉::1 成#::1
检查: "racdou02:/u01/app/11.2.0/grid,racdou02:/u01/tmp" 的 空闲磁盘空间
路径 节点名 装载点 可用 必需 状态
---------------- ------------ ------------ ------------ ------------ ------------
/u01/app/11.2.0/grid racdou02 / 4.5635GB 7.5GB 失败
/u01/tmp racdou02 / 4.5635GB 7.5GB 失败
解决方案:
Node 2:grid用户环境变量中添加一行export tmpdir=/opt
正在检查主目录 "/u01/app/11.2.0/grid" 中的 Oracle 补丁程序 "9413827"。
节点名 已应用 必需 注释
------------ ------------------------ ------------------------ ----------
racdou02 缺失 9413827 失败
此补丁程序所解决的 Bug
9413827
11201 TO 11202 ASM ROLLING UPGRADE - OLD CRS STACK FAILS TO STOP
apply 9413827 patch 11.2.0.1 升级11.2.0.3前 oracle推荐使用9413827 patch
1、check patch 9413827、opatch version
su - grid
$CRS_HOME/OPatch/opatch lsinventory
su - oracle
$ORACLE_HOME/OPatch/opatch lsinventory
su - grid
$CRS_HOME/OPatch/opatch version
su - oracle
$ORACLE_HOME/OPatch/opatch version
2、installation p6880880_112000_LINUX.zip, upgrade opatch version(to 11.2.0.3.4 from 11.1.0.6.6)
su - root
cd $CRS_HOME
mv OPatch/ OPatch_bk
unzip p6880880_112000_LINUX.zip -d $CRS_HOME
chown grid:oinstall OPatch -R
$CRS_HOME/OPatch/opatch version
3、installation p9413827_112010_LINUX.zip (需要停止升级GI节点上的实例)
su–root
unzip p9413827_112010_LINUX.zip -d $CRS_HOME
chown grid:oinstall 9413827 -R
su–oracle
sh /u01/app/11.2.0/grid/9413827/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME
su–root
/u01/app/11.2.0/grid/crs/install/rootcrs.pl -unlock
su–grid
first applying patch for grid;
cd $CRS_HOME
$CRS_HOME/OPatch/opatch napply -local -oh /u01/app/11.2.0/grid -id 9413827
$CRS_HOME/OPatch/opatch lsinventory
the for database;
su - oracle
$ORACLE_HOME/OPatch/opatch napply /u01/app/11.2.0/grid/9413827/custom/server/ -local -oh $ORACLE_HOME -id 9413827
$ORACLE_HOME/OPatch/opatch lsinventory
su – root
chmod +w /u01/app/11.2.0/grid/log/dou_rac1/agent/
chmod +w /u01/app/11.2.0/grid/log/dou_rac1/agent/crsd/
su–oracle
sh /u01/app/11.2.0/grid/9413827/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME
su–root
/u01/app/11.2.0/grid/crs/install/rootcrs.pl -patch
same setups of others node;
GI and Oracle software patch succeed !
分别以oracle grid用户验证安装是否成功!
[grid@racdou01 ~]$ $ORACLE_HOME/OPatch/opatch lsinventory -oh $ORACLE_HOME
[oracle@racdou01 ~]$ $ORACLE_HOME/OPatch/opatch lsinventory -oh $ORACLE_HOME
Bugs fixed:
9413827, 9706490
简要证明这补丁已经安装成功!
检查: "shmall" 的 内核参数
节点名 当前值 已配置 必需 状态 注释
---------------- ------------ ------------ ------------ ------------ ------------
racdou02 524288 524288 2097152 失败 当前值太低。 配置的值太低。
racdou01 524288 524288 2097152 失败 当前值太低。 配置的值太低。
结果:"shmall" 的 内核参数 检查失败
解决方案:
vi /etc/sysctl.conf
shmall=2097152 通过验证
检查: "cvuqdisk" 的 包存在性
节点名 可用 必需 状态
------------ ------------------------ ------------------------ ----------
racdou02 cvuqdisk-1.0.7-1 cvuqdisk-1.0.9-1 失败
racdou01 cvuqdisk-1.0.7-1 cvuqdisk-1.0.9-1 失败
结果:"cvuqdisk" 的 包存在性 检查失败
解决方案:/u01/tmp/CVU_11.2.0.3.0_grid/runfixup.sh (all nodes)
5.升级GI
unset ORACLE_BASE
unset ORACLE_SID
export DISPLAY=192.168.1.25:0.0
./runInstaller
rootupgrade.sh 执行前,修改crsconfig_lib.pm
cp $NEW_CRS_HOME/crs/install/crsconfig_lib.pm $NEW_CRS_HOME/crs/install/crsconfig_lib.pm.bak
vi $NEW_CRS_HOME/crs/install/crsconfig_lib.pm
从以上配置文件中修改如下行,并使用diff命令确认
From
@cmdout = grep(/$bugid/, @output);
To
@cmdout = grep(/(9655006|9413827)/, @output);
From
my @exp_func = qw(check_CRSConfig validate_olrconfig validateOCR
To
my @exp_func = qw(check_CRSConfig validate_olrconfig validateOCR read_file
$ diff crsconfig_lib.pm.orig crsconfig_lib.pm
699c699
< my @exp_func = qw(check_CRSConfig validate_olrconfig validateOCR --- >
my @exp_func = qw(check_CRSConfig validate_olrconfig validateOCR read_file
13277c13277
< @cmdout = grep(/$bugid/, @output); --- > @cmdout = grep(/(9655006|9413827)/, @output);
cp /g01/11.2.0.2/grid/crs/install/crsconfig_lib.pm /g01/11.2.0.2/grid/crs/install/crsconfig_lib.pm.bak
并在所有节点上复制该配置文件
scp /g01/11.2.0.2/grid/crs/install/crsconfig_lib.pm vrh2:/g01/11.2.0.2/grid/crs/install/crsconfig_lib.pm
附表:
软件包列表
p6880880_112000_LINUX.zip
p9413827_112010_LINUX.zip
p10404530_112030_LINUX_1of7.zip
p10404530_112030_LINUX_2of7.zip
p10404530_112030_LINUX_3of7.zip
/opt/CVU_11.2.0.3.0_grid/runfixup.sh
rootupgrade.sh记录
[root@racdou01 install]# /u01/11.2.0.3/rootupgrade.sh
Performing root user operation for Oracle 11g
The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /u01/11.2.0.3
Enter the full pathname of the local bin directory: [/usr/local/bin]: y
Creating y directory...
Copying dbhome to y ...
Copying oraenv to y ...
Copying coraenv to y ...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/11.2.0.3/crs/install/crsconfig_params
Creating trace directory
ASM 升级已在第一个节点上开始。
CRS-2791: 正在启动用于关闭 'racdou01' 上 Oracle High Availability Services 管理的资源的操作
CRS-2673: 尝试停止 'ora.crsd' (在 'racdou01' 上)
CRS-2790: 正在启动关闭 'racdou01' 上集群就绪服务管理的资源的操作
CRS-2673: 尝试停止 'ora.LISTENER.lsnr' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.racdou.db' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.registry.acfs' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.LISTENER_SCAN1.lsnr' (在 'racdou01' 上)
CRS-2677: 成功停止 'ora.registry.acfs' (在 'racdou01' 上)
CRS-2677: 成功停止 'ora.LISTENER_SCAN1.lsnr' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.scan1.vip' (在 'racdou01' 上)
CRS-2677: 成功停止 'ora.LISTENER.lsnr' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.racdou01.vip' (在 'racdou01' 上)
CRS-2677: 成功停止 'ora.scan1.vip' (在 'racdou01' 上)
CRS-2672: 尝试启动 'ora.scan1.vip' (在 'racdou02' 上)
CRS-2677: 成功停止 'ora.racdou01.vip' (在 'racdou01' 上)
CRS-2672: 尝试启动 'ora.racdou01.vip' (在 'racdou02' 上)
CRS-2676: 成功启动 'ora.scan1.vip' (在 'racdou02' 上)
CRS-2676: 成功启动 'ora.racdou01.vip' (在 'racdou02' 上)
CRS-2672: 尝试启动 'ora.LISTENER_SCAN1.lsnr' (在 'racdou02' 上)
CRS-2676: 成功启动 'ora.LISTENER_SCAN1.lsnr' (在 'racdou02' 上)
CRS-2677: 成功停止 'ora.racdou.db' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.DATA.dg' (在 'racdou01' 上)
CRS-2677: 成功停止 'ora.DATA.dg' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.asm' (在 'racdou01' 上)
CRS-2677: 成功停止 'ora.asm' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.eons' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.ons' (在 'racdou01' 上)
CRS-2677: 成功停止 'ora.ons' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.net1.network' (在 'racdou01' 上)
CRS-2677: 成功停止 'ora.net1.network' (在 'racdou01' 上)
CRS-2677: 成功停止 'ora.eons' (在 'racdou01' 上)
CRS-2792: 关闭 'racdou01' 上集群就绪服务管理的资源的操作已完成
CRS-2677: 成功停止 'ora.crsd' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.cssdmonitor' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.ctssd' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.evmd' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.asm' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.drivers.acfs' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.mdnsd' (在 'racdou01' 上)
CRS-2677: 成功停止 'ora.cssdmonitor' (在 'racdou01' 上)
CRS-2677: 成功停止 'ora.evmd' (在 'racdou01' 上)
CRS-2677: 成功停止 'ora.ctssd' (在 'racdou01' 上)
CRS-2677: 成功停止 'ora.mdnsd' (在 'racdou01' 上)
CRS-2677: 成功停止 'ora.drivers.acfs' (在 'racdou01' 上)
CRS-2677: 成功停止 'ora.asm' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.cssd' (在 'racdou01' 上)
CRS-2677: 成功停止 'ora.cssd' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.gpnpd' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.diskmon' (在 'racdou01' 上)
CRS-2677: 成功停止 'ora.gpnpd' (在 'racdou01' 上)
CRS-2673: 尝试停止 'ora.gipcd' (在 'racdou01' 上)
CRS-2677: 成功停止 'ora.gipcd' (在 'racdou01' 上)
CRS-2677: 成功停止 'ora.diskmon' (在 'racdou01' 上)
CRS-2793: 关闭 'racdou01' 上 Oracle High Availability Services 管理的资源的操作已完成
CRS-4133: Oracle High Availability Services has been stopped.
OLR initialization - successful
Replacing Clusterware entries in inittab
clscfg: EXISTING configuration version 5 detected.
clscfg: version 5 is 11g Release 2.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
You have new mail in /var/spool/mail/root
另一个节点执行rootupgrade.sh ,可能出现HANG住,或是中断情况
1、 不要害怕,先设置GRID新的环境变量
2、 crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [11.2.0.3.0] 表示GI升级成功,可能你会问我ASM怎么办,刚才的执行的节点已经说明了ASM已经升级成功了!所以忽略即可
3、设置新的环境变量
6.升级Oracle database
unset ORACLE_HOME
unset ORACLE_BASE
unset ORACLE_SID
export DISPLAY=192.168.1.25:0.0
./runInstaller
设置新的环境变量
7.检验升级结果
su – oracle
select * from v$version;
select comp_name,version,status from dba_registry;
su – grid
select * from v$version;
crsctl query crs softwareversion racdou01
crsctl query crs softwareversion racdou02
crsctl query crs activeversion
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26442936/viewspace-772303/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26442936/viewspace-772303/