qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          探索Oracle之數(shù)據(jù)庫升級一 升級補丁修復概述

           一、 升級路線圖
            無論你是誰,要想做數(shù)據(jù)庫升級,我想一定離不開如下這張升級線路圖;企業(yè)中數(shù)據(jù)庫的升級是一個浩大的工程,但是卻又必不可少,小在打一個PSU解決一個簡單的問題或?qū)崿F(xiàn)某個功能,大到打安裝Patch對數(shù)據(jù)庫版本升級,都是作為一名合格的DBA必備的技能。再后面的幾篇博客當中將詳細講述如何將數(shù)據(jù)庫從11.2.0.3.0升級到11.2.0.4并且打上最新的OPATCH之后再升級到Oracle 12c。
            二、 升級類型:
            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對于其產(chǎn)品每個季度發(fā)行一次的安全補丁包,通常是為了修復產(chǎn)品中的安全隱患。
            PSU: Patch Set Updates
            Oracle對于其產(chǎn)品每個季度發(fā)行一次的補丁包,包含了bug的修復。Oracle選取被用戶下載數(shù)量多的,并且被驗證過具有較低風險的補丁放入到每個季度的PSU中。在每個PSU中不但包含Bug的修復而且還包含了最新的CPU。
            2. 如何查找最新的PSU
            每個數(shù)據(jù)庫版本都有自己的PSU,PSU版本號體現(xiàn)在數(shù)據(jù)庫版本的最后一位,比如最新的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] 文檔中查到各個產(chǎn)品版本最新的PSU。
            如果你記不住這個文檔號,那么在MOS中以“PSU”為關(guān)鍵字搜索,通常這個文檔會顯示在搜索結(jié)果的最前面。
            注意:必須購買了Oracle基本服務獲取了CSI號以后才有權(quán)限登陸MOS站點。
            Upgrade與Update
            首先,我們針對所使用的數(shù)據(jù)庫可能會進行如下措施,版本升級或補丁包升級,那何為版本升級、何為補丁包升級呢?
            比如我的當前數(shù)據(jù)庫是10GR2版本,但公司最近有個升級計劃,把這套數(shù)據(jù)庫升級到當下最新的11GR2,這種大版本間升級動作即為Upgrade。根據(jù)公司計劃在原廠工程師和DBA共同努力下,數(shù)據(jù)庫已升級到11GR2,當下版本為11.2.0.4.0。這時候原廠工程師推薦把最新的PSU給打上,獲得老板的批準之后,我們又把數(shù)據(jù)庫進行補丁包的升級,應用了PSU Patch:18522509之后,數(shù)據(jù)庫版本現(xiàn)在成為11.2.0.4.3,這個過程即是Update。
            不得不再次提醒,Upgrade和Update都希望在獲得原廠的支持下進行,尤其是Upgrade,這對于企業(yè)來說是個非常大的動作!
            PSR(Patch Set Release)和 PSU(Patch Set Update)
            8i、9i、10g、11g、12c這是其主要版本號,每一版本會陸續(xù)有兩至三個發(fā)行版,如10.1,10.2,和11.1,11.2分別是10g和11g的兩個發(fā)行版。對于每一個發(fā)行版軟件中發(fā)現(xiàn)的BUG,給出相應的修復補丁。每隔一定時期,會將所有補丁集成到軟件中,經(jīng)過集成測試后,進行發(fā)布,也稱為PSR(Patch Set Release)。以10.2為例,10.2.0.1.0是基礎(chǔ)發(fā)行版,至今已有三個PSR發(fā)布,每個PSR修改5位版本號的第4位,最新10.2的PSR為10.2.0.4.0。(11.1.0.6.0是11.1的基礎(chǔ)發(fā)行版,11.1.0.7.0是第一次PSR)。
            在某個PSR之后編寫的補丁,在還沒有加入到下一個PSR之前,以個別補丁(InterimPatch)的形式提供給客戶。某個個別補丁是針對Oracle公司發(fā)現(xiàn)的或客戶報告的某一個BUG編寫的補丁,多個個別補丁之間一同安裝時可能會有沖突,即同一個目標模塊分別進行了不同的修改。另外,即便在安裝時沒有發(fā)現(xiàn)沖突,由于沒有進行嚴格的集成測試,運行過程中由于相互作用是否會發(fā)生意外也不能完全排除。
            除去修改功能和性能BUG的補丁,還有應對安全漏洞的安全補丁。Oracle公司定期(一年四期)發(fā)布安全補丁集,稱之為CPU(Critical Patch Updates)。
            由于數(shù)據(jù)庫在信息系統(tǒng)的核心地位,對其性能和安全性的要求非常高。理應及時安裝所有重要補丁。另外一個方面,基于同樣的理由,要求數(shù)據(jù)庫系統(tǒng)必須非常穩(wěn)定,安裝補丁而導致的系統(tǒng)故障和性能下降同樣不可接受。DBA經(jīng)常面臨一個非常困難的選擇:對于多個修復重要BUG的個別補丁是否安裝。不安裝,失去預防故障發(fā)生的機會,以后故障發(fā)生時,自己是無作為;安裝,如果這些補丁中存在著倒退BUG,或者相互影響,以后發(fā)生由于安裝補丁而造成的故障時,自己則是無事生非!而等待下一個PSR,一般又需要一年時間。因此,出了PSU(Patch Set Update)
            三、Oracle 版本說明
            Oracle 的版本號很多,先看11g的一個版本號說明:
            注意:在oracle 9.2 版本之后, oracle 的maintenance release number 是在第二數(shù)字位更改。而在之前,是在第三個數(shù)字位。
            1. Major Database ReleaseNumber
            第一個數(shù)字位,它代表的是一個新版本軟件,也標志著一些新的功能。如11g,10g。
            2. Database MaintenanceRelease Number
            第二個數(shù)字位,代表一個maintenancerelease 級別,也可能包含一些新的特性。
            3. Fusion Middleware ReleaseNumber
            第三個數(shù)字位,反應Oracle 中間件(Oracle Fusion Middleware)的版本號。
            4. Component-Specific ReleaseNumber
            第四個數(shù)字位,主要是針對組件的發(fā)布級別。不同的組件具有不同的號碼。 比如Oracle 的patch包。
            5. Platform-Specific ReleaseNumber
            第五個數(shù)字位,這個數(shù)字位標識一個平臺的版本。 通常表示patch 號。

          posted on 2014-12-03 13:33 順其自然EVO 閱讀(545) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫

          <2014年12月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 搜索| 老河口市| 景泰县| 枣庄市| 神池县| 衢州市| 台江县| 汉中市| 大荔县| 墨脱县| 龙游县| 扎兰屯市| 西安市| 神木县| 东山县| 宜川县| 崇明县| 寻乌县| 上思县| 当雄县| 泽州县| 金华市| 廉江市| 花莲县| 玉龙| 惠州市| 大渡口区| 肥乡县| 阿拉善右旗| 唐河县| 文成县| 新巴尔虎右旗| 休宁县| 高邮市| 临汾市| 洱源县| 诸城市| 繁昌县| 永善县| 界首市| 通江县|