Oracle安裝Patch相關筆記

dbasdk發表於2017-02-25
Patch Set是在大版本上來修復多個bug的補丁集,例如11.2是一個大版本,11.2.0.4就是一個Patch sets。

PSU(Patch Set Updates)是Oracle比較推薦的補丁更新集,包括了CPU以及一些影響比較嚴重的補丁。例如11.2.0.4.x就是一個PSU。它有
RDBMS PSU和GI PSU,GI PSU中包含了RDBMS PSU。

CPU(Critical Patch Update)/SPU(Security Patch Updates),CPU也就是現在SPU,是Oracle一些安全性方面的補丁。CPU只能安裝在基版本或Patch Set上。打過PSU的資料庫不能再打CPU,推薦打PSU。

Composite patch是在11.2.0.2.7或11.2.0.3.2及之後推出的PSU都是Composite patches,裡面是由sub-patch組成,主要是為了節省升級時間。

One off/Interim patches就是小補丁。裡面有兩種特別的補丁,Overlay patch和Merge patch。Overlay patch是當一個小補丁和PSU衝突的時候,在這個PSU上會新出一個小補丁,這個小補丁就是Overlay patch。Merge patch是當一個或多個補丁之間衝突的時候,這些補丁修改相同檔案,需要新生成一個合集的補丁,這個補丁就是Merge patch。

Bundle patch是補丁集和大版本在一起安裝的。例如windows上安裝的補丁集就是Bundle patches。

Online patch就是不需要停機就可以打的補丁。

Opatch工具可以應用補丁、回滾補丁、檢測衝突、衝突建議、產品補丁列表。推薦文件MOS Patch 6880880下載最新的Opatch工具。
Opatch補丁安裝會做預安裝檢查、備份影響的檔案、更新檔案、Relink、更新Inventory檔案、確認完成。
Opatch補丁安裝準備:
1.關閉資料庫、監聽、EM。
2.使用fuser –c $ORACLE_HOME(Linux)/slibclean(AIX)。
3.建議備份$ORACLE_HOME,relink all。
4.檢視補丁README。

Opatch補丁衝突查檢不影響資料庫執行,補丁衝突檢查命令:opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./xxxxxxxx(要安裝的所有補丁所在的路徑)。

補丁衝突處理方法:
1.如果準備打的PSU和已經安裝的小補丁衝突 或者 準備打的小補丁和已經安裝的PSU衝突
1.1.如果PSU不是最新的PSU,看最新的PSU是不是已經修復衝突的小補丁。
1.2.如果最新的PSU沒有修復對應的小補丁,在衝突補丁號(ConflictingPatchnumber).html查詢對應的PSU的Overlay patch。
    1.2.1.如果是準備打的PSU和已經安裝的小補丁衝突,並且PSU的版本是11.2.0.3.1或11.2.0.2.6及之前的PSU
        1.2.1.1 打PSU時會自動回滾掉衝突的小補丁。
        1.2.1.2 打上面網址找到的Overlay patch。
    1.2.2.如果是準備打的PSU和已經安裝的小補丁衝突,並且PSU的版本是11.2.0.3.2或11.2.0.2.7及之後的PSU
        1.2.2.1 下載和準備打的PSU中sub-patch衝突的Overlay patch。
        1.2.2.2 手動回滾(opatch rollback -id 衝突的小補丁號)已經安裝的衝突的小補丁。
        1.2.2.3 打PSU
        1.2.2.4 打Overlay patch
        
1.3.如果沒有在上面網址找到對應的Overlay patch,則可以在MOS文件1061295.1查詢補丁對應的補丁號。

2.如果準備打的CPU和已經安裝的小補丁衝突
2.1.如果CPU不是最新的CPU,看最新的PSU是不是已經修復衝突的小補丁。
2.2.在MOS上輸入衝突的補丁號和小補丁號去查詢Merge patch。

3.如果準備打的小補丁和已經安裝的小補丁衝突
3.1.在MOS上輸入衝突的補丁號和小補丁號去查詢Merge patch。

4.如果準備打的CPU和已經安裝的PSU衝突
4.1.如果PSU不是最新的PSU,看最新的PSU已經包含了準備打的CPU。

補丁衝突申請SR:要打的補丁、$ORACLE_HOME/cfgtoollogs/opatch/opatch<timestamp>.log、uname –a、file $ORACLE_HOME/bin/sqlplus、Opatch lsinventory –detail或者執行MOS 1430571.1下的opatchdiag.sh

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

相關文章