Oracle RAC 10.2.0.5升級到11.2.0.4遇到的問題

路途中的人2012發表於2016-07-07

    最近有這個需求所以提前在家裡的測試環境做了相關的測試,將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: ORACLE not available
INFO: Read:
INFO: Read:
INFO: oracle.assistants.asm:The plug-in Automatic Storage Management Configuration Assistant has failed 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

該問題可以參考文章:《ASM Upgrade from 10.2.0.5 to 11.2.0.3 Fails : INS-20802, ORA-1034 (文件 ID 1534279.1)》


    注意:RAC可以在只升級Clusterware,不升級ASM,不升級DB的情況下正常執行,老版本的ASM、DB和LISTENER等就需要以上的相容性資源來啟動和管理。

完成以上操作後,再次執行$GRID_HOME/cfgtoollogs/configToolFailedCommands指令碼,檢視日誌收到類似如下的報錯,ASMCA升級失敗:
......
/opt/grid/oui/bin/runConfig.sh ORACLE_HOME=/opt/grid MODE=perform ACTION=configure RERUN=false $*
------
...
The plug-in Automatic Storage Management Configuration Assistant is running

The plug-in Automatic Storage Management Configuration Assistant has failed its perform method
......

手動執行asmca -silent -upgradeASM -asmsnmpPassword oracle123升級ASM會收到相同的報錯。

該問題是個bug,參考如下的文章即可解決:

1. Rerun the command as:

/opt/grid/bin/asmca -silent -postConfigureASM -oui_internal -sysAsmPassword <asmadmin passwd> -asmMonitorPassword <asmdba passwd>

Replace above asmadmin passwd and asmdba passwd with the real password.

2. Check resource status:
crsctl stat res -t

It should show all resources (except gsd and oc4j) are ONLINE now. gsd and oc4j OFFLINE is intended status for 11.2.0.1.

Another workaround as per - RUNCONFIG.SH FAILS WHEN UPGRADING ASM FROM 11.1 TO 11.2:

1. Create a response file for configToolAllCommands named cfgrsp.properties, for example <GRID_HOME>/cfgtoollogs/cfgrsp.properties. This file must be populated with 2 entries
 "oracle.assistants.asm|S_ASMPASSWORD"
 "oracle.assistants.asm|S_ASMMONITORPASSWORD"

The value for S_ASMPASSWORD MUST be left blank, S_ASMMONITORPASSWORD will be set to the desired ASM Monitor Password.  The file should look as follows (assuming the ASMMONITORPASSWORD will be set to oracle):

 oracle.assistants.asm|S_ASMPASSWORD=
 oracle.assistants.asm|S_ASMMONITORPASSWORD=oracle

 
2.  Once the response file is created, execute configToolAllCommands as follows:

 <GRID_HOME>/cfgtoollogs/configToolAllCommands RESPONSE_FILE=<GRID_HOME>/cfgtoollogs/cfgrsp.properties

該問題參考文章《11gR2 Rerun command in configToolFailedCommands Failed (文件 ID 1191814.1)》

完成整個升級過程後ASM例項的資源並不存在,asmca無法正常工作,需要以GI所有者作業系統使用者執行下面的命令手動新增ASM例項:
./srvctl add asm -l LISTENER -p /u01/app/11.2.0/grid/dbs/spfile+ASM.ora -d '/dev/rhdisk*'

至此,ASMCA也可以正常工作了。

--end--

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29067253/viewspace-2121675/,如需轉載,請註明出處,否則將追究法律責任。

相關文章