Oracle數(shù)據(jù)庫作為目前使用最為廣泛,功能最為強大的數(shù)據(jù)庫類型。在該領(lǐng)域,其升級或數(shù)據(jù)遷移是一個重要的技術(shù)課題。中培偉業(yè)《Oracle數(shù)據(jù)庫管理與性能調(diào)優(yōu)》專家賈老師為此在這里詳細論述了oracle數(shù)據(jù)庫升級的升級前的準備、升級過程和升級后的測試與調(diào)整工作,并對各種升級方法在多種操作系統(tǒng)平臺上作了測試。
一、數(shù)據(jù)庫升級的必要性
數(shù)據(jù)庫升級是數(shù)據(jù)庫管理員經(jīng)常要面對的問題,如果你的應(yīng)用要使用新版本數(shù)據(jù)庫的新特性;如果數(shù)據(jù)庫運行負載過重,而通過軟硬件調(diào)整又不能有根本性的改善;如果要更換操作系統(tǒng)平臺;如果要增強數(shù)據(jù)庫的安全性;還有一個原因是隨著新版本數(shù)據(jù)庫的出現(xiàn)與成熟,oracle停止了對舊版本數(shù)據(jù)庫的技術(shù)支持,升級到高版本,可以繼續(xù)獲得oracle的支持,還可以利用新版本數(shù)據(jù)庫的新特新,可以改善系統(tǒng)的性能,健壯性,可擴張性和可用性,等等,面對這些問題,需要通過數(shù)據(jù)庫升級才得以解決。不過,如果你的系統(tǒng)運行穩(wěn)定,沒有大的性能瓶頸的話,還是不要輕易升級數(shù)據(jù)庫,因為升級一個產(chǎn)品數(shù)據(jù)庫會面臨很多風險.
二、數(shù)據(jù)庫升級或數(shù)據(jù)遷移情況分析
賈老師指出,數(shù)據(jù)庫升級或數(shù)據(jù)遷移會遇到多種情況,一般有以下幾種情況:
1. 相同主機條件下,低版本數(shù)據(jù)庫向高版本數(shù)據(jù)庫的升級。
2. 數(shù)據(jù)庫有了新的補丁級,需要安裝新的補丁。
3. 更換了系統(tǒng)主機,如從windows更換為unix系統(tǒng),數(shù)據(jù)庫需要遷移。
4. 實現(xiàn)跨平臺,跨數(shù)據(jù)庫版本的遷移。
5. 32位數(shù)據(jù)庫升級到64為數(shù)據(jù)庫。
6. 標準版的數(shù)據(jù)庫升級到企業(yè)版的數(shù)據(jù)庫。
三、制定詳細的數(shù)據(jù)庫升級計劃
數(shù)據(jù)庫升級操作會面臨巨大的風險,因此在數(shù)據(jù)庫升級前制定詳細而周密的升級和測試計劃,反復(fù)驗證與測試升級數(shù)據(jù)庫的各個階段非常必要,這樣才能保證升級產(chǎn)品數(shù)據(jù)庫的各個階段可理解,可預(yù)測并能夠成功。一般來說,數(shù)據(jù)庫升級的測試計劃應(yīng)該包括以下幾種測試類型:
1. 升級測試(Upgrade testing
2. 最小化測試(Minimal testing)。
3. 功能測試(Functional testing)。
4. 集成測試(Integration testing)。
5. 性能測試(Performance testing)。
6. 容量與負載壓力測試(Volume and load stress testing)。
7. 特定的升級前后的測試(Specific Pre-Upgrade and Post-Upgrade Tests)。
8. 制定升級前的備份方案。
9. 升級步驟的反復(fù)測試(test the upgrade process)。
10.升級后的數(shù)據(jù)庫的測試(test the upgraded database)
以上是數(shù)據(jù)庫升級前需要考慮和測試的問題,具體可以參考oracle數(shù)據(jù)庫提供的升級文檔,在此對各種要求的測試過程不做詳細討論。
四、數(shù)據(jù)庫升級準備
1.升級數(shù)據(jù)庫前首先要熟悉新數(shù)據(jù)庫的各種新特性,如:表空間、段的管理、參數(shù)的變化,內(nèi)存的管理,數(shù)據(jù)庫回閃特性,存儲的管理,sql優(yōu)化的改進等。
2.確定升級到新版本數(shù)據(jù)庫的升級路徑,升級到10gr2的路徑取決于當前數(shù)據(jù)庫的發(fā)行號(release number),很有可能不能從當前的數(shù)據(jù)庫版本升級到最新版本,這種情況首先升級到一個中間版本,然后再升級到最終的版本。例如:當前版本是oracle9.1.0.首先升級到oracle9.1.0.4,然后再從oracle9.1.0.4升級到oracle10gr2
3.選擇升級方法。
4.選擇oracle home目錄。
5.做好數(shù)據(jù)庫備份。
五、數(shù)據(jù)庫升級的各種方法討論
實現(xiàn)數(shù)據(jù)庫升級可以選擇多種方法,一般有:數(shù)據(jù)庫升級助手(database upgrade assistant,手工的腳本升級,exp/imp(exdmp/imdmp)工具,表空間傳輸特性(transportable tablespace),table copy,實體化視圖(material ized view)等技術(shù),在升級前,首先確定升級路徑,根據(jù)具體情況選擇合適的升級方法,對升級過程的各個階段進行測試。