ORACLE RAC 的滾動升級
Oracle 11g 新特性 --Online Patching (Hot Patching 熱補丁)說明
http://blog.csdn.net/tianlesoftware/article/details/8214412
Oracle 更新 OPatch 工具版本 的方法說明
http://blog.csdn.net/tianlesoftware/article/details/6857059
這裡看一下RAC的Patch。 這裡是爭對DB Patch 來說明,如果是RAC的GI升級,或者是PSR,還是需要停機的。因為GI的升級需要停掉整個CRS。 但對資料庫獨立patch則可以採取滾動方式來安裝。
一. RAC Patch的幾種方法
RAC 環境下有三種不同的patch方法:
1.1 對所有節點同時Patch(All-Node Patch)
對於這種模式,OPatch 先在本地節點apply patch,然後在其他節點apply,最後更新inventory。 在這個patch的過程中,所有例項都必須shutdown。
該模式的操作步驟如下:
(1)關閉所有節點上的例項。
(2)在所有節點上applypatch。
(3)啟動所有例項。
1.2 使用最小當機時間來打Patch
在這種模式下,OPatch 先對本地節點打opatch。然後讓使用者選擇其他的節點來進行patch, 其他節點也patch完成,最後在更新inventory。
在這種模式下,downtime的時間就是第二個節點關閉到第一個節點起來之間的時間。
最小當機的操作步驟如下:
(1)關閉節點1的例項
(2)在節點1上apply Patch
(3)關閉節點2上的例項。
(4)在節點2上應用Patch。
(5)關閉節點3上的例項。
(6)在這個時候,節點1和節點2的例項可以啟動。
(7)在節點3上應用patch。
(8)啟動節點3上的例項。
以上整個過程,downtime就是節點3 shutdown到節點1,2啟動這段時間。
1.3 Rolling Patch(不需要down time)
在這種方法裡,沒有downtime 時間。 每個節點都可以patch,並且其他節點也可以正常執行,這種情況下對系統就沒有影響。
Rolling Patch 也不總是不需要downtime時間,因為有些patch支援 rolling patch,有些不支援,對於不支援rolling patch的,只能按照老方法來安裝。
Rolling patch的步驟如下:
(1)關閉節點1的例項
(2)在節點1上應用Patch。
(3)在節點1上啟動例項。
(4)關閉節點2上的例項。
(5)在節點2上應用Patch。
(6)在節點2上啟動例項。
(7)關閉節點3上的例項。
(8)在節點3上應用Patch。
(9)啟動節點3上的例項。
1.4 如何判斷使用哪種方法
只有滿足特定條件的Patch 才可以進行rolling patch。該類patch被稱為:rolling updateble patch 或者 rolling patch。
如果使用者指定了最小當機時間,選擇最小當機時間,如果沒有指定,就使用rolling patch,最後在考慮同時對所有節點進行patch。
二. 如何判斷Patch 是否是Rolling Patch?
當oracle 釋出一個patch的時候,會對patch 進行標記:rolling 或者是not rolling。大部分的patch 都是rolling的。
Rolling Patch 有如下特性:
(1)Patch 不影響資料庫的內容
(2)Patch 和RAC 內部通訊結構無關
(3)Patch 改變程式的邏輯,不修改kernel modules的common header definitions。包括客戶端的patch,其隻影響一些工具,如export,import,sql*plus和sql*loader等。
只有獨立的patches才是rollable的。對於patch sets不能進行rolling patch。
將多個rolling patch 合併起來的merge patch 和普通的patch都不是 rolling patch。
從Oracle 9.2.0.4 開始,根據定義的規則,所有的的patches都會被標記為rolling 或者 not rolling patch。 在這之前的patch都會標記為not rolling。
2.1檢查patch是否是 rolling patch
執行如下命令:
- 9i or 10gR1: opatchquery -is_rolling
- 10gR2: opatch query -all [unzipped patchlocation] | grep rolling
- 10gR2 on Windows: opatch query -all [unzipped patchlocation] | findstr rolling
- Later 10gR2 or 11g: opatchquery -is_rolling_patch [unzipped patch location]
如果我們解壓縮的patch 路徑包含多個子patch目錄,那麼opatch命令就不能正常工作。
--不能用root使用者執行判斷命令:
[root@rac1 16056266]#/u01/app/grid/11.2.0/OPatch/opatch query -is_rolling_patch/u01/software/16056266
The user is root. OPatch cannot continue ifthe user is root.
OPatch failed with error code 255
[root@rac1 16056266]# su - grid
[grid@rac1 ~]$/u01/app/grid/11.2.0/OPatch/opatch query -is_rolling_patch/u01/software/16056266
Oracle Interim Patch Installer version11.2.0.3.4
Copyright (c) 2012, OracleCorporation. All rights reserved.
Oracle Home : /u01/app/grid/11.2.0
Central Inventory : /u01/app/oraInventory
from :/u01/app/grid/11.2.0/oraInst.loc
OPatch version : 11.2.0.3.4
OUI version : 11.2.0.3.0
Log file location :/u01/app/grid/11.2.0/cfgtoollogs/opatch/opatch2013-06-09_04-14-34AM_1.log
Failed to load the patch object. Possible causes are:
Thespecified path is not an interim Patch shiphome
Meta-data files are missing from the patch area
Patch location = /u01/software/16056266
Details = Input metadata files are missing.
Patch Location"/u01/software/16056266" doesn't point to a valid patch area.
--因為我們指定的/u01/software/16056266的路徑下面還包含其他的子patch,所以報錯。
OPatch failed with error code 75
[grid@rac1 ~]$ cd /u01/software/16056266
[grid@rac1 16056266]$ ls
13343438 13696216 13923374 14275605 14727310 16056266 patchmd.xml README.html README.txt
--對單個patch進行檢視:
[grid@rac1 16056266]$ /u01/app/grid/11.2.0/OPatch/opatch query-is_rolling_patch /u01/software/16056266/13343438/
Oracle Interim Patch Installer version11.2.0.3.4
Copyright (c) 2012, OracleCorporation. All rights reserved.
Oracle Home : /u01/app/grid/11.2.0
Central Inventory : /u01/app/oraInventory
from :/u01/app/grid/11.2.0/oraInst.loc
OPatch version : 11.2.0.3.4
OUI version : 11.2.0.3.0
Log file location :/u01/app/grid/11.2.0/cfgtoollogs/opatch/opatch2013-06-09_04-15-17AM_1.log
--------------------------------------------------------------------------------
Patch is a rolling patch: true
OPatch succeeded.
[grid@rac116056266]$ /u01/app/grid/11.2.0/OPatch/opatch query -is_rolling_patch/u01/software/16056266/13696216
Oracle Interim Patch Installer version11.2.0.3.4
Copyright (c) 2012, OracleCorporation. All rights reserved.
Oracle Home : /u01/app/grid/11.2.0
Central Inventory : /u01/app/oraInventory
from :/u01/app/grid/11.2.0/oraInst.loc
OPatch version : 11.2.0.3.4
OUI version : 11.2.0.3.0
Log file location :/u01/app/grid/11.2.0/cfgtoollogs/opatch/opatch2013-06-09_04-15-32AM_1.log
--------------------------------------------------------------------------------
Patch is a rolling patch: true
OPatch succeeded.
2.2 Patch的一些限制
2.2.1 在Shared File System上進行Patch
Currently Opatch會把Shared File System當作單例項來進行Patch。OPatch 會把patch file 放在ORACLE_HOME目錄,因為是共享的,所以其他節點也可以訪問。
因此對於Shared FileSystem的環境,就不能使用OPatch 的高階功能:rollingpatch,在打Patch的時候,所有節點都必須shutdown。
2.2.2 每次Patch一個節點
可以在每個節點獨立的進行patch,即在opatch的時候只用: -local 關鍵字,這樣就只會在本地節點進行patch。
--------------------------------------------------------------------------------------------
版權所有,文章允許轉載,但必須以連結方式註明源地址,否則追究法律責任!
QQ: 251097186
Skype: tianlesoftware
Email: tianlesoftware@gmail.com
Blog: http://blog.csdn.net/tianlesoftware
Weibo:
Twitter:
Facebook:
Linkedin:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/500314/viewspace-1269863/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 滾動升級(rolling upgrade) Oracle 10g RACOracle 10g
- Oracle RAC 手動升級 11.2.0.3.4Oracle
- 11gR2 RAC out-of-place 滾動升級(2)
- 11gR2 RAC out-of-place 滾動升級(1)
- [譯] Elasticsearch 滾動升級Elasticsearch
- 【邏輯DG滾動升級三】ORACLE11204 邏輯DG滾動升級至12C---正式升級Oracle
- 資料庫升級之-Dataguard滾動升級資料庫
- oracle 10.2.0.1 rac 升級到10.2.0.4 rac時,dbua升級的元件列表Oracle元件
- 入門Kubernetes - 滾動升級/回滾
- oracle 10g rac升級Oracle 10g
- ORACLE 滾動升級(Rolling Upgrades)介紹Oracle
- oracle 10 rac 升級 10.2.0.1升級到10.2.0.5Oracle
- 滴滴HBase大版本滾動升級之旅
- Oracle RAC 11.2.0.3.2 升級 11.2.0.3.4Oracle
- 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
- 【邏輯DG滾動升級二】ORACLE11204 邏輯DG滾動升級至12C---DG端前期準備Oracle
- 【邏輯DG滾動升級一】ORACLE11204 邏輯DG滾動升級至12C---生產端前期準備Oracle
- 使用SQL Apply實現滾動升級SQLAPP
- 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 10g rac升級(10.2.0.1 Rac到10.2.0.4)Oracle 10g
- IBM aix下oracle 9.2.0.5 rac 升級到oracle 9.2.0.8IBMAIOracle
- Oracle 10g rac升級需要注意的事項Oracle 10g
- Oracle RAC 10.2.0.5升級到11.2.0.4遇到的問題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
- 14 使用DBMS_ROLLING 執行滾動升級
- AIX Oracle RAC 升級到10.2.0.4.0要特別注意的問題AIOracle