【補丁】Oracle補丁的知識及術語

恩強Boy發表於2020-08-05

本文全部內容如下:

- PSU介紹

- PSU可應用產品

- PSU功能和好處

- PSU和 CPU

- patch number的變化

- one-off patch

- SPU/CPU改變

- BP for exadata and dbim的改變

- mos所有補丁下載地址

- 補丁的相關術語

1.  PSU介紹

Patch Set Updates( PSU)是一個 Oracle補丁集合,是 Oracle一個主動的補丁

一個PSU有以下特徵:

- PSU是一個累積的補丁集合

- 每個季度發表一個(季度計劃)

- 高度控制和選擇的內容

- 包括 CPU(Critical Patch Update)安全修復

- 不包含功能增強

- 遵循 PSU所基於的補丁級的糾錯策略

PSU是一系列補丁的集合, PSUCPU(關鍵補丁更新)的季度進度相同,分別是 1月、 4月、 7月、 10月最接近 17日的星期二。

2.  PSU可應用產品

- Oracle database

- Oracle Grid infrastructure

- Cluster Ready Services

- Enterprise Manager

- Weblogic Server

- Exalogic

3.  PSU功能和好處

1)  低風險、高價值

PSU風險很低,主要是透過控制內容和深度測試來實現。包括 Bug的修復標準:

- 可能會影響大量客戶的技術性問題,並且已經得到驗證

- CPU( Critical Patch Update)修理

每一個PSU都有的新內容,通常包含 25-100bug修復。內容是從高階客戶下載和開發和支援解決的問題中發現的。

2)  整合、良好的測試補丁

- 透過在一個補丁中包含補丁建議。 Oracle為了能夠確保推薦的補丁能良好的工作,對每個 PSU進行徹底的迴歸測試。

3)  基線版本,便於跟蹤

Oracle將版本號和補丁關聯起來,每個 PSU都增加資料庫的第五個數字。例如,最初的 PSU11.2.0.4.1,第二個 PSU版本是 11.2.0.4.2。以此類推。

4.  PSU和 CPU

CPU全稱是 Critical Patch Update,Oracle每個季度都會釋出一個安全補丁包,用於修復產品中的安全隱患。

PSU包含與安全問題相關的關鍵補丁,也包括與安全問題無關的關鍵補丁。所以, PSU是包括於關鍵補丁更新( CPU),但又不限於 CPUPSU通常和 CPU一起釋出。

CPU是累計的。最新的 CPU補丁已經包含以往的 CPU補丁,所以只要安裝最新的 CPU補丁即可。

PSU通常也是增量的,大部分 PSU可以直接安裝,但是有些 PSU則必須安裝上一個版本的 PSU之後才能安裝。在安裝 PSU之前,請仔細看 readme文件。

5.  patch number的變化

從2016年開始,資料庫相關的 PSU/SPU/BP的版本號第五位發生改變,如 11.2.0.4.8的下一版本不再是 11.2.0.4.9,而是 11.2.0.4.160119,格式是與釋出日期相關的 YYMMDD

6.  one-off patch

Oracle資料庫的補丁分為兩種:

一種是主動的補丁(oracle定期更新),包括 PSU/SPU/CPU/BP;CPU改名為 SPU

一種是被動的補丁(當使用者發現了BUG後,由 oracle進行修復),只有 one-off patch

所以,one-off patch只是為了修改某一個 Bug而產生。

從12c以後, Oracle又提供了一個名為 DBBP的補丁型別。在 12c以前,至少是安裝相應版本的 PSU,而從 12c以後起想安裝更全的補丁集,應該選擇 DBBP

7.  SPU/CPU改變

從12c開始,資料庫提供安全相關的修復不再單獨以 SPU的形式釋出,而是以 PSUDBBP打包的形式集中修復,這種方式也更為簡單。

8.  BP for exadata and dbim改變

從2016年 4月起, database patch for engineered systems and database in-memory bundle patch(BP) 改名為 database procative bundle patch(DBBP) ,不再僅限於EXADATA系統。 DBBP更是多個 PSU的超集,包含了 GI PSU/DB PSU/EXADATA/DBIM的相關修復。也就是說,從 12c以後 DBBP可以應用於所有資料庫環境,另外 DBBP僅限於 LinuxUNIX系統,不支援 windows系統。 windows平臺繼續使用 BP

9.  所有補丁下載地址

mos Doc ID 2118136.2

注意:SPU,PSU,DBBP不相容,更換補丁的時候要檢查衝突,回滾之前的衝突。如安裝 DBBP不能基於上一季度的 PSU

10.  補丁的術語

1) P atch  S et  R elease

就是早期大家常說的 PSR 。這是在主版本號上釋出的補丁集,版本的第4 個欄位指定, 11.2.0.4 ,修復了較多的Bug ,可能會包含一些增強功能。比如11.2.0.1 是一個主版本,那麼11.2.0.2 11.2.0.3 就是2 個不同的Patch set 。這種補丁集經過了嚴格的整合測試,也是累積型的。所以推薦安裝最新的Patch Set

2) P atch  S et  U pdate

就是DBA 們常論道的 PSU .Oracle  選取在每個季度使用者下載數量最多,並且得到驗證具有較低風險的補丁放入到 每個季度的PSU 中,修復比較嚴重的一些問題,包含每個季度的CPU ,是累積型的。針對資料庫以及資料庫客戶端的重要修復。包括安全(CPU) 內容。沒有最佳化器修復,雖然在描述PSU 的時候會用到資料庫版本第5 位,但實際上打完PSU 後並不會真正改變資料庫的版本,需要從opatch lsinv 確認

注意

(1) Windows 上沒有CPU PSU ,對於Windows Exadata Oracle 使用 B undle  P atch 代替PSU B undle  P atch 會包含PSU 的內容

(2)  11G 之前有些PSU 可以直接安裝,而有些PSU 則必須要求安裝了上一個版本的PSU 之後才能繼續安裝。比如對於10.2.0.4 版本的資料庫來說,PSU 10.2.0.4.4 可以直接安裝在最原始的10.2.0.4.0 版本中,而最新的PSU 10.2.0.4.8 則必須要求先安裝10.2.0.4.4 。更多資訊參考PSU  附帶的readme.txt

(3) 11.2.0.2 版本開始,一個新的補丁策略被引入,11.2.0.1 之後釋出的Patch Set 本身就是一個完整的安裝包,不再需要基礎的Release  版本安裝。

3) Grid Infrastructure Patch Set Update

也就是 GI PSU ,適用於11.2.0.1 以上的RAC DB  安裝在 Unix  平臺上 ( 包括單例項 RAC) 。補丁包括 Grid Infrastructure  的重要修復,也包括匹配的 DB PSU ,但不包括任何 OJVM PSU ,季度發行,在11.2 以前叫CRS PSU ,從11.2 後不再發行。

4) OJVM Patch Set Update

也就是 OJVM PSU 適用於資料庫版本DB  版本 11.1.0.7 11.2.0.3 11.2.0.4 12.1.0.1  及以上所有平臺。須知 Windows  平臺有特殊的 OJVM PSU  覆蓋補丁安裝於 Windows BP  上,

2014 10 月提出 OJVM PSU ,但是 OJVM  和 JDBC  有單獨的補丁。
2015 1 月之後 OJVM PSU  包括 JDBC  針對資料庫的修復

12c 中的DBBP 中包含了OJVM PSU

5) Timezone Patches

DB  和 DB client  安裝,當對最新時區資料要求很高時,補丁僅包含時區資料,每半年發行一次。

6) C ritical  P atch  U pdate

Oracle 2005 年開始引入的產品安全更新策略,CPU 最早的雛形出現在2005 年,該專案致力於為客戶週期性地提供累積性的補丁以修復安全漏洞。沒有一個強制要求安裝CPU 的理由,Oracle 僅僅是強烈推薦實施這些補丁以降低潛在的安全風險並降低受到駭客入侵成功的機率由月/ 年指定 如 11.2.0.4 Jan 2015 SPU  

這個指的就是 CPU 補丁。每季度釋出一次,用來修復 安全 方面的一些補丁,是累積型的。目前(2012 10 月)已經更名為 Security Patch Update  ( SPU )

PSU 包含了最新的CPU,  12.1.0.1 開始CPU 不再單獨釋出而是包含在PSU 中釋出。

7) O ne- O ff  P atch

是我們常說的小補丁,為了修復某( ) Bug 而釋出的補丁。這種補丁推薦在測試庫上測試無誤後再安裝在生產庫上。

8) M erged  P atch

合併的補丁。當幾個小補丁之間有衝突,不能同時安裝的時候,需要提供這種Merged Patch 。補丁衝突主要是由於2 個或者多個補丁修改同一個檔案,但是修改的內容是不同的。

9) Quarterly Full Stack Download Patch / Combo Patch

若干不同的補丁打包在一起釋出,適用於DB  版本 11.1.0.7 11.2.0.3 11.2.0.4 12.1.0.1  及以上,2014 10 月開始每季度發行一次在一個下載中包括不同元件的 Patch Set Updates

10) Windows B undle  P atch(BP)

僅適用於WINDOWS 平臺的補丁集修復多個Bug 。在 Windows 平臺 上的Oracle 沒有小補丁,只有這種 B undle  P atch 。 這種累積型的補丁會週期性的釋出(至少每季一次), 也就是每個 B undle  P atch 會包含之前所有的 B undle  P atch 。比如Windows Bundle Patch 16 ,它會包含之前所有15 Bundle Patch ,所以我們總是推薦安裝最新的Bundle Patch Oracle 的叢集軟體和資料庫軟體的Window Bundle Patch 是同一個 ,比如Windows Bundle Patch 16( 補丁號16167942 ,既可以打在叢集上,也可以打在資料庫上) ,  每季度會包含 DB PSU  和 OJVM PSU  內容。。

10) D iagnostic  P atch

診斷補丁 。顧名思義,這類補丁不是用來解決問題的,而是用來尋找問題的原因的。這類補丁只在Oracle 技術支援部門要求安裝時,才需要安裝。在得到需要的診斷資訊後 ,應立即解除安裝這一補丁。

11) C omposite  P atch

2012 4 月份的 Database PSU 11.2.0.3.2 11.2.0.2.0.7 開始,推出一種新的概念叫 Composite Patches   這是一種新型的補丁包,它不同於其他的累積型補丁包。如果是第一次安裝Composite Patches ,那麼該Composite Patches 所包括的全部補丁都會被安裝,後續安裝的Composite Patches ,只會安裝對比前一次Composite Patches 有變化的部分和新增加的補丁。

12) Database Patch for Exadata

也叫EXADBBP  BP ,僅用於exadata machine ORACLE 11G, 每月發行, 每月重要 的BP 都會放在本季度的Quarterly Full Stack Download Patch for Exadata

13) Q uarterly  F ull  S tack  D ownload  P atch  for Exadata

QFSDP for Exadata ,同樣也是僅用於EXADATA MACHINE ORACLE 11G,  每季度發行,包括 Exadata  上的資料庫補丁以及其他 Exadata  元件的補丁。

不可用於非EXADATA 系統。大多數更新都是專門為 Exadata  上的 Oracle Database (DB_BP)  和 Oracle Clusterware (GI_BP)  建立的 Bundle patches  發行的。Bundle patches  包含的不是 Exadata  特定程式碼,但是,只能在用於測試目的,或者是為Exadata  系統提供災難恢復支援的時候,才可以在 non-Exadata  系統上安裝這些補丁。只有當 non-Exadata  系統用在 Data Guard  環境中作為 Exadata  系統的備用系統時,Oracle  才為 non-Exadata  系統提供在 Exadata bundle patches  基礎上的臨時修復。

14) D ata b ase Proactive  B undle  P atch

適用於12c  資料庫安裝在 Exadata  , 同樣適用於任何使用 Database In-Memory (DBIM)  特性的 12c  系統,RAC  或 non-RAC 。資料庫和 Grid home  也適用。僅用於 12.1.0.2  及以上 DB on linux/unix 平臺,從1937782.1 可以看出在2016 4 月前的補丁都是叫for Engineered Systems and DB In-Memory , 釋出週期為每個月一次,截至2016 4 月,Database Patch for Engineered Systems and Database In-Memory  已重新命名為”Database Proactive Bundle Patch” ,不再只限於Engineered Systems and DB In-Memory ,可以用於EXADATA 也可以用於非EXADATA ,和RAC 及非RAC 系統。為每季度釋出一次,成為了一種新型的季度補丁,也是累計型, 版本的第5 個欄位指定,”Database Proactive Bundle Patch” Patch Set Update (PSU)  需要多一些測試,因為它提供了大量的修復

DBBP PSU 的 超集,BP 是增量包含的如10 ,包含1-9 ,也包含了建立BP 時最近的PSU CPU ,所以建議安裝最新的BP,  準確應該是說包含了PSU,CPU 修復的問題。

重要的一點是12C DBBP 和以前的 “Windows Bundle Patch” (BP) 沒有直接關係,windows  還是繼續使用之前的WINDOWS BP.

雖然DBBP 是包含了多個PSU BUG FIXED, 但是DBBP 不能是基於上一季度的PSU 繼續安裝,反之亦然,所以如果切換DBBP PSU 的補丁安裝技術需要提前rollback 有衝突的PSU,  這樣做需要更 的時間視窗和停機時間。

如果下載同期的DBBP PSU  會發現裡面的子補丁存在互斥, 在DBBP readme 中會看到DBBP 明確是增量的包含了所有的PSU CPU ,雖然子補丁號不同 但是安裝後使用opatch lsinventory -bugs_fixed  會發現DBBP 會包含了同期PSU 修得的所有BUG, 還能找到一些fixed BUG DBBP 中,而沒有在PSU 中 。

 

---- end ----

 



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

相關文章