rac upgrade;from 11.2.0.1 to 11.2.0.3

本文详细介绍了如何将Oracle数据库及基础设施从11.2.0.1升级到11.2.0.3的过程,包括升级GIandASM、OracleDatabase等关键步骤,确保系统稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.3GI软件

1-3-2:直接升级GI ;执行rootupgrade.sh 先升级ASM 后Oracle cluster

注:rootupgrade.sh执行其中一个节点成功了,另一个节点HANG住或中断这个时间可能会提示你重启,你必须先设置新的GRID环境变量

2、  升级Oracle Database

2-1、Out of place 升级OracleDatabase (./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、oracleclusterware状态

2-1.当前oracle database版本

select* from v$version;

BANNER

-------------------------------------------------------------------------------

OracleDatabase 11g Enterprise Edition Release 11.2.0.1.0 - Production

PL/SQLRelease 11.2.0.1.0 - Production

CORE    11.2.0.1.0      Production

TNSfor Linux: Version 11.2.0.1.0 - Production

NLSRTLVersion 11.2.0.1.0 - Production

2-2.当前oracle database 组件

selectcomp_name,version,status from dba_registry;

COMP_NAME                                VERSION         STATUS

------------------------------------------------------- --------------------

OWB                                     11.2.0.1.0      VALID

OracleApplication Express              3.2.1.00.10     VALID

OracleEnterprise Manager               11.2.0.1.0      VALID

OLAPCatalog                            11.2.0.1.0      VALID

Spatial                                 11.2.0.1.0      VALID

OracleMultimedia                       11.2.0.1.0      VALID

OracleXML Database                     11.2.0.1.0      VALID

OracleText                             11.2.0.1.0      VALID

OracleExpression Filter                11.2.0.1.0      VALID

OracleRules Manager                    11.2.0.1.0      VALID

OracleWorkspace Manager                11.2.0.1.0      VALID

OracleDatabase Catalog Views           11.2.0.1.0      VALID

OracleDatabase Packages and Types      11.2.0.1.0      VALID

JServerJAVA Virtual Machine            11.2.0.1.0      VALID

OracleXDK                              11.2.0.1.0      VALID

OracleDatabase Java Packages           11.2.0.1.0      VALID

OLAPAnalytic Workspace                 11.2.0.1.0      VALID

OracleOLAP API                         11.2.0.1.0      VALID

OracleReal Application Clusters        11.2.0.1.0      VALID

19 rowsselected.

2-3.当前oracle clusterware版本

[oracle@racdou02app]$ crsctl query crs softwareversion racdou01

OracleClusterware version on node [racdou01] is [11.2.0.1.0]

[oracle@racdou02app]$ crsctl query crs softwareversion racdou02

OracleClusterware version on node [racdou02] is [11.2.0.1.0]

[root@racdou01~]# crsctl query crs activeversion

OracleClusterware active version on the cluster is [11.2.0.1.0]

2-4.当前GI版本(grid)

select* from v$version;

BANNER

-------------------------------------------------------------------------------

OracleDatabase 11g Enterprise Edition Release 11.2.0.1.0 - Production

PL/SQLRelease 11.2.0.1.0 - Production

CORE    11.2.0.1.0      Production

TNSfor Linux: Version 11.2.0.1.0 - Production

NLSRTLVersion 11.2.0.1.0 – Production

 

3.升级前备份

3-1.数据库备份RMAN全备(省略)

备份oracle_home,crs_home

tar -zcvfapp.tar.gz app/                       --压缩

tar -zxvfapp.tar.gz                            --解压

3-2.检查votedisk和ocr备份

[oracle@racdou02u01]$ crsctl query css votedisk

##  STATE   File Universal Id               File Name Disk group

--  -----   -----------------               --------- ---------

 1. ONLINE  38c99c120ba14f72bf9639a4f409c603 (/dev/asm-data02) [DATA]

Located1 voting disk(s).

[oracle@racdou02u01]$ 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中,不必备份votingdisk, 当任何配置发生改变,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

备份asmdiskheader

selectpath from v$asm_disk;

[grid@racdou02dou_rac]$ kfed read /dev/asm-data01 text=/u01/asm-data01-disker

恢复amdiskheader

[grid@racdou02dou_rac]$ kfed merge /dev/asm-data01 text=/u01/asm-data01-disker

 

以上备份完毕

 

4.升级前检验(是否满足升级条件)

[grid@racdou01grid]$ ./runcluvfy.sh stage -pre crsinst -upgrade -n racdou01,racdou02-rolling -src_crshome $ORACLE_HOME -dest_crshome $ORACLE_HOME -dest_version11.2.0.3.0 -fixup -fixupdir /tmp -verbose

总结一下检查失败的部分与解决方案

 

正在检查主机配置文件...

  节点名           状态                        注释                     

  ------------ ------------------------ ------------------------

  racdou02     失败                        条目无效                   

  racdou01     失败                        条目无效                   

 

ERROR:

PRVF-4190 : 主机配置文件的验证失败

 

解决方案:

注释掉::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                   失败       

  racdou01     缺失                        9413827                   失败      

 

此补丁程序所解决的Bug

9413827

11201TO 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、checkpatch 9413827、opatchversion

su - grid

$CRS_HOME/OPatch/opatchlsinventory

su - oracle

$ORACLE_HOME/OPatch/opatchlsinventory

su - grid

$CRS_HOME/OPatch/opatchversion

su - oracle

$ORACLE_HOME/OPatch/opatchversion

 

2、installationp6880880_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

unzipp6880880_112000_LINUX.zip -d $CRS_HOME

chown grid:oinstallOPatch -R

$CRS_HOME/OPatch/opatchversion

 

3、installationp9413827_112010_LINUX.zip (需要停止升级GI节点上的实例)

su–root

unzipp9413827_112010_LINUX.zip -d $CRS_HOME

chown grid:oinstall9413827 -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 patchfor grid;

cd $CRS_HOME

$CRS_HOME/OPatch/opatchnapply -local -oh /u01/app/11.2.0/grid -id 9413827

$CRS_HOME/OPatch/opatchlsinventory

the for database;

su - oracle

$ORACLE_HOME/OPatch/opatchnapply /u01/app/11.2.0/grid/9413827/custom/server/ -local -oh $ORACLE_HOME -id9413827

$ORACLE_HOME/OPatch/opatchlsinventory

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 othersnode;

GI and Oraclesoftware patch succeed !

 

分别以oracle grid用户验证安装是否成功!

[grid@racdou01~]$ $ORACLE_HOME/OPatch/opatch lsinventory -oh $ORACLE_HOME

[oracle@racdou01 ~]$$ORACLE_HOME/OPatch/opatch lsinventory -oh $ORACLE_HOME

Bugsfixed:

     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_HOME

unsetORACLE_BASE

unsetORACLE_SID

exportDISPLAY=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_CRSConfigvalidate_olrconfig validateOCR read_file

$ diffcrsconfig_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.pmvrh2:/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@racdou01install]# /u01/11.2.0.3/rootupgrade.sh

Performingroot user operation for Oracle 11g

 

Thefollowing environment variables are set as:

    ORACLE_OWNER= grid

    ORACLE_HOME=  /u01/11.2.0.3

 

Enterthe full pathname of the local bin directory: [/usr/local/bin]: y

Creatingy directory...

   Copying dbhome to y ...

   Copying oraenv to y ...

   Copying coraenv to y ...

 

Entrieswill be added to the /etc/oratab file as needed by

DatabaseConfiguration Assistant when a database is created

Finishedrunning generic part of root script.

Nowproduct-specific root actions will be performed.

Usingconfiguration parameter file: /u01/11.2.0.3/crs/install/crsconfig_params

Creatingtrace 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.

OLRinitialization - successful

ReplacingClusterware entries in inittab

clscfg:EXISTING configuration version 5 detected.

clscfg:version 5 is 11g Release 2.

Successfullyaccumulated necessary OCR keys.

CreatingOCR keys for user 'root', privgrp 'root'..

Operationsuccessful.

Configure Oracle Grid Infrastructure for a Cluster ... succeeded

Youhave new mail in /var/spool/mail/root

 

另一个节点执行rootupgrade.sh ,可能出现HANG住,或是中断情况

1、  不要害怕,先设置GRID新的环境变量

2、  crsctl query crs activeversion

OracleClusterware active version on the cluster is [11.2.0.3.0]  表示GI升级成功,可能你会问我ASM怎么办,刚才的执行的节点已经说明了ASM已经升级成功了!所以忽略即可

3、设置新的环境变量

 

6.升级Oracle database

unsetORACLE_HOME

unsetORACLE_BASE

unsetORACLE_SID

exportDISPLAY=192.168.1.25:0.0

./runInstaller

设置新的环境变量

 

7.检验升级结果

su –oracle

select* from v$version;

selectcomp_name,version,status from dba_registry;

su –grid

select* from v$version;

crsctlquery crs softwareversion racdou01

crsctlquery crs softwareversion racdou02

crsctlquery crs activeversion

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值