最近有这个需求所以提前在家里的测试环境做了相关的测试,将Oracle RAC 10.2.0.5 for Linux升级到Oracle RAC 11.2.0.4,不对物理结构做任何变更,直接升级RAC。升级的过程大致分为如下几步:
1).升级Grid Infrastructure(Clusterware)。 <<<<如下图所示,直接用Grid Infrastructure 11.2.0.4版本的安装介质升级。
2).升级ASM。 <<<< 升级GI可以附带一起就升级了ASM,如下图所示,选中“Upgrade Cluster Oracle Automatic Storage Management(Oracle ASM)”即可。
3).升级Oracle Database软件。 <<<< 升级Oracle Database软件最简单,采用out-of-place的方式新装一套DB软件即可。
4).升级数据字典。 <<<< 升级数据字典也较为简单,主要工具是Pre-Upgrade Tools脚本,和单机版数据库升级没有太大区别。
测试的整个升级过程在自动升级ASM的时候卡了一下,其他步骤都较为顺利,下面就将ASM升级遇到的问题做一下总结。
ASM的升级是在RAC所有节点都完成rootupgrade.sh脚本的执行,点击图形化的下一步开始进行的。这里有一点需要说明,如果执行完rootupgrade.sh脚本之后,后续的图形界面没有了(比如服务器重启等原因,那么还可以直接执行$GI_HOME/cfgtoollogs/configToolFailedCommands脚本继续完成后续配置工作。
在所有RAC节点执行完rootupgrade.sh脚本之后,通过11g查看Clusterware资源情况:
[root@rac01 bin]# ./crsctl stat res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE rac01
ONLINE ONLINE rac02
ora.gsd
OFFLINE OFFLINE rac01
OFFLINE OFFLINE rac02
ora.net1.network
ONLINE ONLINE rac01
ONLINE ONLINE rac02
ora.ons
ONLINE ONLINE rac01
ONLINE ONLINE rac02
ora.registry.acfs
OFFLINE OFFLINE rac01
OFFLINE OFFLINE rac02
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac01
ora.cvu
1 ONLINE ONLINE rac01
ora.oc4j
1 ONLINE ONLINE rac01
ora.orcl.db
1 ONLINE ONLINE rac01 <<<< 10.2.0.5版本的DB资源
ora.orcl.orcl1.inst
1 ONLINE ONLINE rac01 <<<< 10.2.0.5版本的DB实例资源
ora.orcl.orcl2.inst
1 ONLINE ONLINE rac02 <<<< 10.2.0.5版本的DB实例资源
ora.rac01.ASM1.asm
1 ONLINE ONLINE rac01 <<<< 10.2.0.5版本的ASM实例资源
ora.rac01.vip
1 ONLINE ONLINE rac01
ora.rac02.ASM2.asm
1 ONLINE ONLINE rac02 <<<< 10.2.0.5版本的ASM实例资源
ora.rac02.vip
1 ONLINE ONLINE rac02
ora.scan1.vip
1 ONLINE ONLINE rac01
如果在升级ASM之前,10.2.0.5版本的ASM实例资源在运行,那么后续ASM升级操作将收到如下的报错:
INFO: Command /d01/grid/bin/asmca -silent -upgradeASM -oui_internal
INFO: ... GenericInternalPlugIn.handleProcess() entered.
INFO: ... GenericInternalPlugIn: getting configAssistantParmas.
INFO: ... GenericInternalPlugIn: checking secretArguments.
INFO: ... GenericInternalPlugIn: starting read loop.
INFO: Read: ASMSNMP_PASSWORD_PROMPT
INFO: Processing: ASMSNMP_PASSWORD_PROMPT for argument tag -asmMonitorPassword
INFO: End of argument passing to stdin
INFO: Read:
INFO: Read: ORA-01034: ORACLEnotavailable
INFO: Read:
INFO: Read:
INFO: oracle.assistants.asm:The plug-in AutomaticStorageManagementConfigurationAssistanthasfailed its perform method
解决办法是停止老版本的asm实例,启动11g的ASM实例:
[root@rac01 bin]# ./crsctl stop res ora.rac01.ASM1.asm
CRS-2673: Attempting to stop 'ora.rac01.ASM1.asm' on 'rac01'
CRS-2677: Stop of 'ora.rac01.ASM1.asm' on 'rac01' succeeded
[root@rac01 bin]# ./crsctl stop res ora.rac02.ASM2.asm
CRS-2673: Attempting to stop 'ora.rac02.ASM2.asm' on 'rac02'
CRS-2677: Stop of 'ora.rac02.ASM2.asm' on 'rac02' succeeded
[root@rac01 bin]# ./crsctl start res ora.asm –init <<<< 需要在RAC所有节点执行启动ASM操作。
CRS-2672: Attempting to start 'ora.drivers.acfs' on 'rac01'
CRS-2676: Start of 'ora.drivers.acfs' on 'rac01' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'rac01'
CRS-2676: Start of 'ora.asm' on 'rac01' succeeded