探索Oracle之資料庫升級一 升級補丁修復概述

dbhelper發表於2014-12-03

探索Oracle之資料庫升級一

 升級補丁修復概述

一、 升級路線圖

       無論你是誰,要想做資料庫升級,我想一定離不開如下這張升級線路圖;企業中資料庫的升級是一個浩大的工程,但是卻又必不可少,小在打一個PSU解決一個簡單的問題或實現某個功能,大到打安裝Patch對資料庫版本升級,都是作為一名合格的DBA必備的技能。再後面的幾篇部落格當中將詳細講述如何將資料庫從11.2.0.3.0升級到11.2.0.4並且打上最新的OPATCH之後再升級到Oracle 12c

 探索Oracle之資料庫升級一 升級補丁修復概述 

二、 升級型別:

11.2.0.1.0 ----------11.2.0.4.0---------11.2.0.4.4-----------12.2.0.1.0

                       CPU                      PSU               

                                   Update                             upgrade

 

1. 什麼是PSU/CPU

CPU: Critical Patch Update   (SPU: Security Patch Update

Oracle對於其產品每個季度發行一次的安全補丁包,通常是為了修復產品中的安全隱患。

PSU: Patch Set Updates

Oracle對於其產品每個季度發行一次的補丁包,包含了bug的修復。Oracle選取被使用者下載數量多的,並且被驗證過具有較低風險的補丁放入到每個季度的PSU中。在每個PSU中不但包含Bug的修復而且還包含了最新的CPU。

 

2. 如何查詢最新的PSU

    每個資料庫版本都有自己的PSU,PSU版本號體現在資料庫版本的最後一位,比如最新的10.2.0.5的PSU是10.2.0.5.6,而11.2.0.3的最新PSU則是11.2.0.4.3。

MOS站點中OracleRecommended Patches — Oracle Database [ID 756671.1] 文件中查到各個產品版本最新的PSU

如果你記不住這個文件號,那麼在MOS中以“PSU”為關鍵字搜尋,通常這個文件會顯示在搜尋結果的最前面。

注意:必須購買了Oracle基本服務獲取了CSI號以後才有許可權登陸MOS站點

 

Upgrade與Update

   首先,我們針對所使用的資料庫可能會進行如下措施,版本升級或補丁包升級,那何為版本升級、何為補丁包升級呢?

   比如我的當前資料庫是10GR2版本,但公司最近有個升級計劃,把這套資料庫升級到當下最新的11GR2,這種大版本間升級動作即為Upgrade。根據公司計劃在原廠工程師和DBA共同努力下,資料庫已升級到11GR2,當下版本為11.2.0.4.0。這時候原廠工程師推薦把最新的PSU給打上,獲得老闆的批准之後,我們又把資料庫進行補丁包的升級,應用了PSU Patch:18522509之後,資料庫版本現在成為11.2.0.4.3,這個過程即是Update。

不得不再次提醒,Upgrade和Update都希望在獲得原廠的支援下進行,尤其是Upgrade,這對於企業來說是個非常大的動作!

PSR(Patch Set Release)和 PSU(Patch Set Update)

    8i、9i、10g、11g、12c這是其主要版本號,每一版本會陸續有兩至三個發行版,如10.1,10.2,和11.1,11.2分別是10g和11g的兩個發行版。對於每一個發行版軟體中發現的BUG,給出相應的修復補丁。每隔一定時期,會將所有補丁整合到軟體中,經過整合測試後,進行釋出,也稱為PSR(Patch Set Release)。以10.2為例,10.2.0.1.0是基礎發行版,至今已有三個PSR釋出,每個PSR修改5位版本號的第4位,最新10.2的PSR為10.2.0.4.0。(11.1.0.6.0是11.1的基礎發行版,11.1.0.7.0是第一次PSR)。

    在某個PSR之後編寫的補丁,在還沒有加入到下一個PSR之前,以個別補丁(InterimPatch)的形式提供給客戶。某個個別補丁是針對Oracle公司發現的或客戶報告的某一個BUG編寫的補丁,多個個別補丁之間一同安裝時可能會有衝突,即同一個目標模組分別進行了不同的修改。另外,即便在安裝時沒有發現衝突,由於沒有進行嚴格的整合測試,執行過程中由於相互作用是否會發生意外也不能完全排除。

   除去修改功能和效能BUG的補丁,還有應對安全漏洞的安全補丁。Oracle公司定期(一年四期)釋出安全補丁集,稱之為CPU(Critical Patch Updates)

   由於資料庫在資訊系統的核心地位,對其效能和安全性的要求非常高。理應及時安裝所有重要補丁。另外一個方面,基於同樣的理由,要求資料庫系統必須非常穩定,安裝補丁而導致的系統故障和效能下降同樣不可接受。DBA經常面臨一個非常困難的選擇:對於多個修復重要BUG的個別補丁是否安裝。不安裝,失去預防故障發生的機會,以後故障發生時,自己是無作為;安裝,如果這些補丁中存在著倒退BUG,或者相互影響,以後發生由於安裝補丁而造成的故障時,自己則是無事生非!而等待下一個PSR,一般又需要一年時間。因此,出了PSU(Patch Set Update)

 

三、Oracle 版本說明

Oracle 的版本號很多,先看11g的一個版本號說明:

注意:在oracle 9.2 版本之後, oracle 的maintenance release number 是在第二數字位更改。而在之前,是在第三個數字位。


1. Major Database ReleaseNumber

第一個數字位,它代表的是一個新版本軟體,也標誌著一些新的功能。如11g,10g。

2. Database MaintenanceRelease Number

第二個數字位,代表一個maintenancerelease 級別,也可能包含一些新的特性。

3. Fusion Middleware ReleaseNumber

第三個數字位,反應Oracle 中介軟體(Oracle Fusion Middleware)的版本號。

4. Component-Specific ReleaseNumber

第四個數字位,主要是針對元件的釋出級別。不同的元件具有不同的號碼。 比如Oracle 的patch包。

5. Platform-Specific ReleaseNumber

第五個數字位,這個數字位標識一個平臺的版本。 通常表示patch 號。

 

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

相關文章