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