Oracle RAC 手動升級 11.2.0.3.4
Oracle RAC 11.2.0.3.2 手動升級 11.2.0.3.4
作業系統:RHEL6.2 64bit
Oracle Database 版本:11.2.0.3.2
Oracle Grid 版本:11.2.0.3.2
說明:文章包括升級準備,升級操作,回退操作(可回退到11.2.0.3.2)
作業系統:RHEL6.2 64bit
Oracle Database 版本:11.2.0.3.2
Oracle Grid 版本:11.2.0.3.2
說明:文章包括升級準備,升級操作,回退操作(可回退到11.2.0.3.2)
升級準備
查詢兩個節點grid opatch版本(Opatch版本必需是11.2.0.3或更高的版本)
[root@rac1 ~]# su - grid
[grid@rac1 ~]$ cd $ORACLE_HOME
[grid@rac1 grid]$ OPatch/opatch version
OPatch Version: 11.2.0.3.5
OPatch succeeded.
查詢已安裝補丁情況
[grid@rac1 ~]$ $ORACLE_HOME/OPatch/opatch lspatches
13696216;Database Patch Set Update : 11.2.0.3.2 (13696216)
13696251;Grid Infrastructure Patch Set Update : 11.2.0.3.2 (13696251)
節點2操作相同
查詢兩個節點oracle 使用者opatch版本
[root@rac1 ~]# su - oracle
[oracle@rac1 ~]$ $ORACLE_HOME/OPatch/opatch version
OPatch Version: 11.2.0.3.5
OPatch succeeded.
查詢已安裝補丁情況
[oracle@rac1 ~]$ $ORACLE_HOME/OPatch/opatch lspatches
13696216;Database Patch Set Update : 11.2.0.3.2 (13696216)
13696251;Grid Infrastructure Patch Set Update : 11.2.0.3.2 (13696251)
節點2操作相同
上傳補丁介質
[root@rac1 ~]# cd /u01/app/
[root@rac1 app]# mkdir patches
[root@rac1 app]# chown grid:oinstall patches
[root@rac1 app]# su - grid
[grid@rac1 ~]$ cd /u01/app/patches/
[grid@rac1 patches]$ ls
p14275572_1120304_Linux-x86-64.zip
節點2操作相同
解壓補丁(使用grid使用者執行)
[root@rac1 patches]# su grid
[grid@rac1 patches]$ unzip p14275572_1120304_Linux-x86-64.zip
節點2操作相同
補丁衝突檢查
Grid使用者執行1
$ opatch prereq
CheckConflictAgainstOHWithDetail -ph
[grid@rac1 patches]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph 14275605 -oh $ORACLE_HOME
節點2操作相同
Grid使用者執行2
$ opatch prereq
CheckConflictAgainstOHWithDetail -phBaseDir
[grid@rac1 patches]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir 14275572 -oh $ORACLE_HOME
節點2操作相同
Oracle使用者執行1
$ opatch prereq
CheckConflictAgainstOHWithDetail -ph
[oracle@rac1 ~]$ cd /u01/app/patches/
[oracle@rac1 patches]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph 14275605 -oh $ORACLE_HOME
節點2操作相同
Oracle使用者執行2
$ opatch prereq
CheckConflictAgainstOHWithDetail -phBaseDir
[oracle@rac1 patches]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir 14275572/custom/server/14275572 -oh $ORACLE_HOME
節點2操作相同
停止EM服務(oracle使用者執行)
[oracle@rac1 patches]$ emctl stop dbconsole
Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name.
[oracle@rac1 patches]$ env |grep ORACLE
ORACLE_SID=enmo1
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
[oracle@rac1 patches]$ export ORACLE_UNQNAME=enmo
[oracle@rac1 patches]$ emctl stop dbconsole
節點2操作相同
升級操作
1.停止應用補丁節點DB(oracle使用者執行)
$ /bin/srvctl stop home -o -s -n
[oracle@rac1 ~]$ srvctl stop home -o $ORACLE_HOME -s /home/oracle/state_file.txt -n rac1
節點2操作相同
[oracle@rac2 ~]$ srvctl stop home -o $ORACLE_HOME -s /home/oracle/state_file.txt -n rac2
2.停止crs叢集(使用root使用者執行)
# /crs/install/rootcrs.pl -unlock
[root@rac1 ~]# $ORACLE_HOME/crs/install/rootcrs.pl –unlock
節點2操作相同
注:停止叢集后使用ps –ef | grep ora確保所有oracle程式已經停止,否則會出現檔案佔用報錯,無法應用補丁。
3.應用crs補丁(grid使用者執行)
$ /OPatch/opatch napply -oh -local /14275572
[grid@rac1 patches]$ $ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /u01/app/patches/14275572
節點2操作相同
應用crs補丁2(grid使用者執行)
$ /OPatch/opatch apply -oh -local /14275605
[grid@rac1 patches]$ $ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local /u01/app/patches/14275605
節點2操作相同
4.應用db元件補丁前執行指令碼(oracle使用者執行)
$ /14275572/custom/server/14275572/custom/scripts/prepatch.sh -dbhome
[oracle@rac1 ~]$ cd /u01/app/patches
[oracle@rac1 patches]$ 14275572/custom/server/14275572/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME
節點2操作相同
5. 應用DB補丁(oracle使用者執行)
$ /OPatch/opatch napply -oh -local /14275572/custom/server/14275572
[oracle@rac1 patches]$ $ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local 14275572/custom/server/14275572
節點2操作相同
應用DB補丁2(oracle使用者執行)
$ /OPatch/opatch apply -oh -local /14275605
[oracle@rac1 patches]$ $ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local 14275605
節點2操作相同
6. 應用DB補丁後執行指令碼(oracle使用者執行)
$ /14275572/custom/server/14275572/custom/scripts/postpatch.sh -dbhome
[oracle@rac1 patches]$ 14275572/custom/server/14275572/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME
節點2操作相同
7.使用root使用者執行指令碼
# /rdbms/install/rootadd_rdbms.sh
[root@rac1 ~]# $ORACLE_HOME/rdbms/install/rootadd_rdbms.sh
節點2操作相同
使用root使用者執行指令碼2啟動crs
# /crs/install/rootcrs.pl -patch
[root@rac1 ~]# $ORACLE_HOME/crs/install/rootcrs.pl –patch
節點2操作相同
注:如果提示“A system reboot is recommended before using ACFS”需要重啟。
8. 開啟應用補丁節點DB(oracle使用者執行)
$ /bin/srvctl start home -o -s -n
[oracle@rac1 ~]$ $ORACLE_HOME/bin/srvctl start home -o $ORACLE_HOME -s /home/oracle/state_file.txt -n rac1
節點2操作相同
[oracle@rac2 ~]$ $ORACLE_HOME/bin/srvctl start home -o $ORACLE_HOME -s /home/oracle/state_file.txt -n rac2
9.執行指令碼更新DB補丁記錄(sysdba使用者登入例項)
SQL> @?/rdbms/admin/catbundle.sql psu apply
10.檢查補丁狀態
查詢DB補丁記錄
SQL> col action_time for a30
SQL> col version for a15
SQL> col id for 99
SQL> col action for a10
SQL> col namespace for a10
SQL> col COMMENTS for a20
SQL> col BUNDLE_SERIES for a15
SQL> select * from registry$history;
查詢補丁狀態grid使用者執行
[grid@rac1 patches]$ $ORACLE_HOME/OPatch/opatch lspatches
[grid@rac1 patches]$ $ORACLE_HOME/OPatch/opatch lsinventory
節點2操作相同
查詢補丁狀態oracle使用者執行
[oracle@rac1 patches]$ $ORACLE_HOME/OPatch/opatch lspatches
[oracle@rac1 patches]$ $ORACLE_HOME/OPatch/opatch lsinventory
節點2操作相同
回退操作
1. 停止節點DB(oracle使用者執行)
$ /bin/srvctl stop home -o -s -n
[oracle@rac1 ~]$ $ORACLE_HOME/bin/srvctl stop home -o $ORACLE_HOME -s /home/oracle/state_file_rollback.txt -n rac1
節點2操作相同
[oracle@rac2 ~]$ $ORACLE_HOME/bin/srvctl stop home -o $ORACLE_HOME -s /home/oracle/state_file_rollback.txt -n rac2
2. 停止crs叢集(root使用者執行指令碼)
# /crs/install/rootcrs.pl -unlock
[root@rac1 ~]# $ORACLE_HOME/crs/install/rootcrs.pl –unlock
節點2操作相同
注:停止叢集后使用ps –ef | grep ora確保所有oracle程式已經停止,否則會出現檔案佔用報錯,無法應用補丁。
3. 回退crs 補丁(grid使用者執行)
回退crs補丁1
$ /OPatch/opatch rollback -local -id 14275572 -oh
[grid@rac1 ~]$ $ORACLE_HOME/OPatch/opatch rollback -local -id 14275572 -oh $ORACLE_HOME
節點2操作相同
回退crs補丁2
$ /OPatch/opatch rollback -local -id 14275605 -oh
[grid@rac1 ~]$ $ORACLE_HOME/OPatch/opatch rollback -local -id 14275605 -oh $ORACLE_HOME
節點2操作相同
4. DB補丁回退前執行指令碼(使用oracle使用者執行)
$ /14275572/custom/server/14275572/custom/scripts/prepatch.sh -dbhome
[oracle@rac1 ~]$ cd /u01/app/oracle/patches
[oracle@rac1 patches]$ 14275572/custom/server/14275572/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME
節點2操作相同
5.回退DB補丁(oracle使用者執行)
回退DB補丁1
$ /OPatch/opatch rollback -local -id 14275572 -oh
[oracle@rac1 patches]$ $ORACLE_HOME/OPatch/opatch rollback -local -id 14275572 -oh $ORACLE_HOME
節點2操作相同
回退DB補丁2
$ /OPatch/opatch rollback -local -id 14275605 -oh
[oracle@rac1 patches]$ $ORACLE_HOME/OPatch/opatch rollback -local -id 14275605 -oh $ORACLE_HOME
節點2操作相同
6.回退DB補丁後執行指令碼(oracle使用者執行)
$ /14275572/custom/server/14275572/custom/scripts/postpatch.sh -dbhome
[oracle@rac1 patches]$ 14275572/custom/server/14275572/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME
節點2操作相同
7.root使用者執行指令碼
# /rdbms/install/rootadd_rdbms.sh
[root@rac1 ~]# $ORACLE_HOME/rdbms/install/rootadd_rdbms.sh
節點2操作相同
Root使用者執行啟動crs指令碼
# /crs/install/rootcrs.pl -patch
[root@rac1 ~]# $ORACLE_HOME/crs/install/rootcrs.pl –patch
工節點2操作相同
注:如出現資訊 "A system reboot is recommended before using ACFS”,需要重啟。
8.開啟節點DB(使用oracle使用者)
[oracle@rac1 ~]$ $ORACLE_HOME/bin/srvctl start home -o $ORACLE_HOME -s /home/oracle/state_file_rollback.txt -n rac1
節點2操作相同
[oracle@rac2 ~]$ $ORACLE_HOME/bin/srvctl start home -o $ORACLE_HOME -s /home/oracle/state_file_rollback.txt -n rac2
9.執行指令碼catbundle.sql(sysdba使用者登入例項)
@catbundle_PSU_
SQL> @?/rdbms/admin/catbundle_PSU_ENMO_ROLLBACK.sql
10.查詢回退狀態
查詢DB補丁記錄
SQL> col action_time for a30
SQL> col version for a15
SQL> col id for 99
SQL> col action for a10
SQL> col namespace for a10
SQL> col COMMENTS for a20
SQL> col BUNDLE_SERIES for a15
SQL> select * from registry$history;
查詢補丁狀態grid使用者執行
[grid@rac1 patches]$ $ORACLE_HOME/OPatch/opatch lspatches
[grid@rac1 patches]$ $ORACLE_HOME/OPatch/opatch lsinventory
節點2操作相同
查詢補丁狀態oracle使用者執行
[oracle@rac1 patches]$ $ORACLE_HOME/OPatch/opatch lspatches
[oracle@rac1 patches]$ $ORACLE_HOME/OPatch/opatch lsinventory
節點2操作相同
----------------end-------------------
DBA_建瑾
2014.8.30
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29324876/viewspace-1260758/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle RAC 11.2.0.3.2 升級 11.2.0.3.4Oracle
- ORACLE RAC 的滾動升級Oracle
- Oracle Database 11.1.0.7 for Windows升級到11.2.0.3.4 for Linux遇到的問題OracleDatabaseWindowsLinux
- oracle 10g rac升級Oracle 10g
- oracle 10 rac 升級 10.2.0.1升級到10.2.0.5Oracle
- oracle 10.2.0.1 rac 升級到10.2.0.4 rac時,dbua升級的元件列表Oracle元件
- Oracle 資料庫 升級為 RACOracle資料庫
- oracle 10.2.0.4 rac 升級到oracle 10.2.0.5 rac步驟Oracle
- oracle rac 10.2.0.1 升級到 oracle 10.2.0.4Oracle
- oracle rac 11.2.0.3 升級到11.2.0.4Oracle
- ORACLE 10G RAC 升級補丁Oracle 10g
- 升級oracle 10g clusterware 和 racOracle 10g
- Oracle:Oracle RAC 11.2.0.4 升級為 19cOracle
- ORACLE RAC 手動建庫Oracle
- oracle RAC手動配置互信Oracle
- Oracle 10g rac升級(10.2.0.1 Rac到10.2.0.4)Oracle 10g
- 滾動升級(rolling upgrade) Oracle 10g RACOracle 10g
- ABP Framework 手動升級指南:從6.0.1升級到7.0.0Framework
- IBM aix下oracle 9.2.0.5 rac 升級到oracle 9.2.0.8IBMAIOracle
- Oracle RAC DG手動切換Oracle
- ORACLE 10gR2 RAC升級至10.2.0.4Oracle 10g
- Oracle RAC 10.2.0.1 升級 10.2.0.4 簡單描述Oracle
- rac 升級crs 升級資料庫軟體,升級資料庫資料庫
- HP UNIX - oracle rac 10.2.0.3 升級10.2.0.4問題Oracle
- Oracle10g RAC : 10.2.0.1 升級到 10.2.0.4Oracle
- Oracle10g RAC 資料庫升級為10.2.0.4 ,clusterware需要升級到10.2.0.4 ?Oracle資料庫
- Oracle10.2.0.1RAC 升級 Oracle10.2.0.5案例分享 -DATABASE篇OracleDatabase
- Oracle10.2.0.1RAC 升級 Oracle10.2.0.5案例分享 -CRS篇Oracle
- Oracle 11g RAC手動新增serviceOracle
- ORACLE 11g RAC EM手動配置Oracle
- 動手為王 | Oracle 資料庫跨版本升級遷移實踐Oracle資料庫
- ORACLE10201手動升級到10204Oracle
- 生產庫升級:oracle 9.2.0.1升級oracle 9.2.0.8Oracle
- Oracle 10g rac升級需要注意的事項Oracle 10g
- Oracle RAC 10.2.0.5升級到11.2.0.4遇到的問題Oracle
- Oracle 11.2.0.4 RAC psu補丁升級至11.2.0.4.2Oracle
- linux下oracle RAC10.2.0.1升級到10.2.0.4LinuxOracle
- 11gR2 RAC out-of-place 滾動升級(2)