【RAC】在所有節點上滾動安裝BUNDLE Patch for Base Bug 9413827補丁包

lwitpub發表於2014-10-17
在升級rac  11.2.0.1到11.2.0.2 的時候會遇到一個bug 11201 TO 11202 ASM ROLLING UPGRADE – OLD CRS STACK FAILS TO STOP 本文以例項介紹如何安裝次bug的補丁!
1 確定opatch 的版本 下載最新的optach版本和補丁程式
p6880880 可以參照 此文
Patch 9413827: 11201 TO 11202 ASM ROLLING UPGRADE – OLD CRS STACK FAILS TO STOP(patchid:9413827)
2 檢查已經安裝的patch 注意 oracle grid 使用者的ORACLE_HOME GI_HOME 都要安裝最新版本的opatch
grid@rac1:/tmp/9413827>opatch version
OPatch Version: 11.2.0.3.0
OPatch succeeded.
3 以oracle 使用者在本地停止RDBMS DB HOME 的相關資源
語法
 $ORACLE_HOME/bin/srvctl -o [RDBMS_HOME] -s [status file location] -n [node_name]
 實際例子:
oracle@rac1:/home/oracle>srvctl stop home -o $ORACLE_HOME -n rac1 -s stop_db_res 
oracle@rac1:/home/oracle>srvctl  status database -d rac
例項 rac1 沒有在 rac1 節點上執行
例項 rac2 正在節點 rac2 上執行
oracle@rac1:/home/oracle>cat stop_db_res 
db-rac
4. 切換到root使用者執行rootcrs.pl -unlock 命令
[root@rac1 ~]# /opt/rac/11.2.0/grid/crs/install/rootcrs.pl  -unlock
2012-07-08 20:28:46: Parsing the host name
2012-07-08 20:28:46: Checking for super user privileges
2012-07-08 20:28:46: User has super user privileges
Using configuration parameter file: /opt/rac/11.2.0/grid/crs/install/crsconfig_params
CRS-2791: 正在啟動用於關閉 'rac1' 上 Oracle High Availability Services 管理的資源的操作
CRS-2673: 嘗試停止 'ora.crsd' (在 'rac1' 上)
CRS-2790: 正在啟動關閉 'rac1' 上叢集就緒服務管理的資源的操作
CRS-2673: 嘗試停止 'ora.LISTENER.lsnr' (在 'rac1' 上)
CRS-2673: 嘗試停止 'ora.DATA1.dg' (在 'rac1' 上)
CRS-2673: 嘗試停止 'ora.DATA2.dg' (在 'rac1' 上)
CRS-2673: 嘗試停止 'ora.LISTENER_SCAN1.lsnr' (在 'rac1' 上)
CRS-2677: 成功停止 'ora.LISTENER_SCAN1.lsnr' (在 'rac1' 上)
CRS-2673: 嘗試停止 'ora.scan1.vip' (在 'rac1' 上)
CRS-2677: 成功停止 'ora.scan1.vip' (在 'rac1' 上)
CRS-2672: 嘗試啟動 'ora.scan1.vip' (在 'rac2' 上)
CRS-2677: 成功停止 'ora.LISTENER.lsnr' (在 'rac1' 上)
CRS-2673: 嘗試停止 'ora.rac1.vip' (在 'rac1' 上)
CRS-2677: 成功停止 'ora.rac1.vip' (在 'rac1' 上)
CRS-2672: 嘗試啟動 'ora.rac1.vip' (在 'rac2' 上)
CRS-2676: 成功啟動 'ora.rac1.vip' (在 'rac2' 上)
CRS-2676: 成功啟動 'ora.scan1.vip' (在 'rac2' 上)
CRS-2672: 嘗試啟動 'ora.LISTENER_SCAN1.lsnr' (在 'rac2' 上)
CRS-2676: 成功啟動 'ora.LISTENER_SCAN1.lsnr' (在 'rac2' 上)
CRS-2677: 成功停止 'ora.DATA1.dg' (在 'rac1' 上)
CRS-2677: 成功停止 'ora.DATA2.dg' (在 'rac1' 上)
CRS-2673: 嘗試停止 'ora.asm' (在 'rac1' 上)
CRS-2677: 成功停止 'ora.asm' (在 'rac1' 上)
CRS-2673: 嘗試停止 'ora.ons' (在 'rac1' 上)
CRS-2673: 嘗試停止 'ora.eons' (在 'rac1' 上)
CRS-2677: 成功停止 'ora.ons' (在 'rac1' 上)
CRS-2673: 嘗試停止 'ora.net1.network' (在 'rac1' 上)
CRS-2677: 成功停止 'ora.net1.network' (在 'rac1' 上)
CRS-2677: 成功停止 'ora.eons' (在 'rac1' 上)
CRS-2792: 關閉 'rac1' 上叢集就緒服務管理的資源的操作已完成
CRS-2677: 成功停止 'ora.crsd' (在 'rac1' 上)
CRS-2673: 嘗試停止 'ora.cssdmonitor' (在 'rac1' 上)
CRS-2673: 嘗試停止 'ora.ctssd' (在 'rac1' 上)
CRS-2673: 嘗試停止 'ora.evmd' (在 'rac1' 上)
CRS-2673: 嘗試停止 'ora.asm' (在 'rac1' 上)
CRS-2673: 嘗試停止 'ora.mdnsd' (在 'rac1' 上)
CRS-2677: 成功停止 'ora.cssdmonitor' (在 'rac1' 上)
CRS-2677: 成功停止 'ora.mdnsd' (在 'rac1' 上)
CRS-2677: 成功停止 'ora.evmd' (在 'rac1' 上)
CRS-2677: 成功停止 'ora.ctssd' (在 'rac1' 上)
CRS-2677: 成功停止 'ora.asm' (在 'rac1' 上)
CRS-2673: 嘗試停止 'ora.cssd' (在 'rac1' 上)
CRS-2677: 成功停止 'ora.cssd' (在 'rac1' 上)
CRS-2673: 嘗試停止 'ora.gpnpd' (在 'rac1' 上)
CRS-2673: 嘗試停止 'ora.diskmon' (在 'rac1' 上)
CRS-2677: 成功停止 'ora.gpnpd' (在 'rac1' 上)
CRS-2673: 嘗試停止 'ora.gipcd' (在 'rac1' 上)
CRS-2677: 成功停止 'ora.gipcd' (在 'rac1' 上)
CRS-2677: 成功停止 'ora.diskmon' (在 'rac1' 上)
CRS-2793: 關閉 'rac1' 上 Oracle High Availability Services 管理的資源的操作已完成
CRS-4133: Oracle High Availability Services has been stopped.
Successfully unlock /opt/rac/11.2.0/grid
[root@rac1 ~]# 

5 以oracle 使用者執行 Patch 下的prepatch.sh指令碼 注意路徑!

oracle@rac1:/tmp/9413827/custom/scripts>sh prepatch.sh -dbhome $ORACLE_HOME
prepatch.sh completed successfully.

6 正式安裝補丁
 6.1以grid使用者來安裝補丁程式
 grid@rac1:/tmp/9413827>opatch napply -local -oh $ORACLE_HOME -id 9413827
Oracle 中間補丁程式安裝程式版本 11.2.0.3.0
版權所有 (c) 2012, Oracle Corporation。保留所有權利。
Oracle Home       : /opt/rac/11.2.0/grid
Central Inventory : /opt/rac/oraInventory
   from           : /opt/rac/11.2.0/grid/oraInst.loc
OPatch version    : 11.2.0.3.0
OUI version       : 11.2.0.1.0
Log file location : /opt/rac/11.2.0/grid/cfgtoollogs/opatch/opatch2012-07-08_20-36-57下午_1.log
Verifying environment and performing prerequisite checks...
OPatch continues with these patches:   9413827  
是否繼續? [y|n]
y
User Responded with: Y
All checks passed.
提供電子郵件地址以用於接收有關安全問題的通知, 安裝 Oracle Configuration Manager 並啟動它。如果您使用 My Oracle
Support 電子郵件地址/使用者名稱, 操作將更簡單。
有關詳細資訊, 請訪問 。
電子郵件地址/使用者名稱: 
尚未提供電子郵件地址以接收有關安全問題的通知。
是否不希望收到有關安全問題 (是 [Y], 否 [N]) [N] 的通知:  Y
請關閉本地系統上在此 ORACLE_HOME 之外執行的 Oracle 例項。
(Oracle 主目錄 = '/opt/rac/11.2.0/grid')
本地系統是否已準備打補丁? [y|n]
y
User Responded with: Y
Backing up files...
Applying interim patch '9413827' to OH '/opt/rac/11.2.0/grid'
正在為元件 oracle.crs, 11.2.0.1.0 打補丁...
Verifying the update...
Patch 9413827 successfully applied.
Log file location: /opt/rac/11.2.0/grid/cfgtoollogs/opatch/opatch2012-07-08_20-36-57下午_1.log
OPatch succeeded.
grid@rac1:/tmp/9413827> 

6.2 以oracle使用者執行如下命令
進入補丁解壓的目錄
cd /tmp/9413827/
執行命令注意語法:
% opatch napply custom/server/ -local -oh -id 9413827 具體命令:
oracle@rac1:/tmp/9413827>opatch napply custom/server/ -local -oh $ORACLE_HOME -id 9413827
Oracle 中間補丁程式安裝程式版本 11.2.0.3.0
版權所有 (c) 2012, Oracle Corporation。保留所有權利。
Oracle Home       : /opt/rac/oracle/11.2.0/rac
Central Inventory : /opt/rac/oraInventory
   from           : /opt/rac/oracle/11.2.0/rac/oraInst.loc
OPatch version    : 11.2.0.3.0
OUI version       : 11.2.0.1.0
Log file location : /opt/rac/oracle/11.2.0/rac/cfgtoollogs/opatch/opatch2012-07-08_20-43-50下午_1.log
Verifying environment and performing prerequisite checks...
OPatch continues with these patches:   9413827  
是否繼續? [y|n]
y     
User Responded with: Y
All checks passed.
請關閉本地系統上在此 ORACLE_HOME 之外執行的 Oracle 例項。
(Oracle 主目錄 = '/opt/rac/oracle/11.2.0/rac')
本地系統是否已準備打補丁? [y|n]
y
User Responded with: Y
Backing up files...
Applying interim patch '9413827' to OH '/opt/rac/oracle/11.2.0/rac'
正在為元件 oracle.rdbms, 11.2.0.1.0 打補丁...
Verifying the update...
Patch 9413827 successfully applied.
Log file location: /opt/rac/oracle/11.2.0/rac/cfgtoollogs/opatch/opatch2012-07-08_20-43-50下午_1.log
OPatch succeeded.

7. 配置HOME目錄
以root使用者執行以下命令
 chmod +w $CRS_HOME/log/[nodename]/agent
 chmod +w $CRS_HOME/log/[nodename]/agent/crsd
[root@rac1 ~]# chmod +w /opt/rac/11.2.0/grid/log/rac1/agent/
[root@rac1 ~]# chmod +w /opt/rac/11.2.0/grid/log/rac1/agent/crsd/

以DB/RDBMS擁有者使用者執行以下命令
 su - oracle
 cd /tmp/9413827/
 oracle@rac1:/home/oracle>cd /tmp/9413827/custom/scripts/
oracle@rac1:/tmp/9413827/custom/scripts>
oracle@rac1:/tmp/9413827/custom/scripts>sh postpatch.sh -dbhome $ORACLE_HOME
Reading /opt/rac/oracle/11.2.0/rac/install/params.ora..
Reading /opt/rac/oracle/11.2.0/rac/install/params.ora..
Parsing file /opt/rac/oracle/11.2.0/rac/bin/racgwrap
Parsing file /opt/rac/oracle/11.2.0/rac/bin/srvctl
Parsing file /opt/rac/oracle/11.2.0/rac/bin/srvconfig
Parsing file /opt/rac/oracle/11.2.0/rac/bin/cluvfy
Verifying file /opt/rac/oracle/11.2.0/rac/bin/racgwrap
Verifying file /opt/rac/oracle/11.2.0/rac/bin/srvctl
Verifying file /opt/rac/oracle/11.2.0/rac/bin/srvconfig
Verifying file /opt/rac/oracle/11.2.0/rac/bin/cluvfy
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/bin/racgwrap
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/bin/srvctl
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/bin/srvconfig
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/bin/cluvfy
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/bin/racgmain
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/bin/racgeut
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/bin/diskmon.bin
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/bin/lsnodes
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/bin/osdbagrp
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/bin/rawutl
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/srvm/admin/ractrans
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/srvm/admin/getcrshome
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/bin/gnsd
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/bin/crsdiag.pl
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/lib/libhasgen11.so
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/lib/libclsra11.so
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/lib/libdbcfg11.so
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/lib/libocr11.so
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/lib/libocrb11.so
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/lib/libocrutl11.so
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/lib/libuini11.so
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/lib/librdjni11.so
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/lib/libgns11.so
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/lib/libgnsjni11.so
Reapplying file permissions on /opt/rac/oracle/11.2.0/rac/lib/libagfw11.so
oracle@rac1:/tmp/9413827/custom/scripts>

8 以root 使用者重啟CRS程式
 [root@rac1 ~]# /opt/rac/11.2.0/grid/crs/install/rootcrs.pl  -patch
2012-07-08 20:48:08: Parsing the host name
2012-07-08 20:48:08: Checking for super user privileges
2012-07-08 20:48:08: User has super user privileges
Using configuration parameter file: /opt/rac/11.2.0/grid/crs/install/crsconfig_params
ADVM/ACFS is not supported on centos-release-5-3.el5.centos.1
CRS-4123: Oracle High Availability Services has been started.
[root@rac1 ~]# su - oracle
oracle@rac1:/home/oracle>srvctl start home -o $ORACLE_HOME -n rac1 -s stop_db_res   
oracle@rac1:/home/oracle>

9 分別以oracle grid使用者驗證安裝是否成功
grid@rac1:/tmp/9413827>opatch lsinventory -detail -oh $ORACLE_HOME
oracle@rac1:/home/oracle>opatch lsinventory -detail -oh $ORACLE_HOME

10. 在其他節點上重複以上步驟,直到在所有節點上成功安裝該補丁!

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

相關文章