以最短的宕機(jī)時(shí)間升級(jí)到Oracle 10g
數(shù)據(jù)庫(kù)升級(jí)是一種挑戰(zhàn)的工作,Oracle DBA關(guān)注的是升級(jí)是否能夠完成,以及可能導(dǎo)致的宕機(jī)時(shí)間,結(jié)合Quest Software的產(chǎn)品方案,我們建議用戶通過(guò)下列步驟,將升級(jí)過(guò)程中的宕機(jī)時(shí)間和失敗風(fēng)險(xiǎn)降到最低:
創(chuàng)建測(cè)試實(shí)例:通過(guò)數(shù)據(jù)復(fù)制等手段,建立生產(chǎn)數(shù)據(jù)庫(kù)的副本,以練習(xí)和測(cè)試升級(jí)。最簡(jiǎn)單的方法是使用磁盤鏡像來(lái)創(chuàng)建該副本。
復(fù)制生產(chǎn)數(shù)據(jù):在生產(chǎn)數(shù)據(jù)庫(kù)和測(cè)試副本之間建立數(shù)據(jù)復(fù)制進(jìn)程。要確保您在測(cè)試過(guò)程中復(fù)制了所有的生產(chǎn)表和序列,這樣您的測(cè)試將是完整的?梢允褂肣uest Software 的SharePlex for Oracle 來(lái)實(shí)現(xiàn)數(shù)據(jù)復(fù)制。要確保在測(cè)試實(shí)例中禁用觸發(fā)器。觸發(fā)器不應(yīng)該修改目標(biāo)數(shù)據(jù),因?yàn)橛|發(fā)器在生產(chǎn)系統(tǒng)中產(chǎn)生的數(shù)據(jù)變化,會(huì)同樣被Shareplex 復(fù)制到測(cè)試數(shù)據(jù)庫(kù)。
測(cè)試數(shù)據(jù)庫(kù)升級(jí):在啟動(dòng)復(fù)制進(jìn)程后,即可在測(cè)試實(shí)例中進(jìn)行嘗試性的數(shù)據(jù)庫(kù)升級(jí)。為此,需要先停止測(cè)試實(shí)例的數(shù)據(jù)更新,并允許Shareplex將捕獲到的生產(chǎn)系統(tǒng)更新暫存到隊(duì)列中,按照Oracle的說(shuō)明進(jìn)行升級(jí),完成后恢復(fù)復(fù)制進(jìn)程,將隊(duì)列里的事務(wù)復(fù)制到新的Oracle 10g實(shí)例中。
檢查升級(jí)后的測(cè)試實(shí)例:數(shù)據(jù)復(fù)制是測(cè)試升級(jí)后的Oracle新實(shí)例的重要開端,生產(chǎn)數(shù)據(jù)庫(kù)及其數(shù)據(jù)變化中包含了大量的數(shù)據(jù)和多種事務(wù)類型,如果不借助SharePlex,就可能需要大量的時(shí)間才能完成。復(fù)制過(guò)程需要持續(xù)至少兩天。接下來(lái),就可以在升級(jí)后的測(cè)試數(shù)據(jù)庫(kù)上,以只讀方式運(yùn)行您的報(bào)表和查詢,檢驗(yàn)其與Oracle 10g的兼容性,了解是否所有報(bào)表和查詢都能在Oracle 10g上正常運(yùn)行。
實(shí)施所需的Oracle 10g新特性:接下來(lái),可以在測(cè)試實(shí)例中部署您所需要的Oracle 10g新特性,檢驗(yàn)其是否可用。
在oracle 10g上測(cè)試更新后的應(yīng)用程序:上一步完成后,你可以進(jìn)一步檢查所有的應(yīng)用程序(套裝和自開發(fā)應(yīng)用)是否能與新的數(shù)據(jù)庫(kù)兼容。在測(cè)試實(shí)例中運(yùn)行需要更新數(shù)據(jù)的應(yīng)用程序時(shí),先應(yīng)停止復(fù)制里程,打開開發(fā)診斷工具,以確定哪些表和序列受到應(yīng)用程序的影響。然后,運(yùn)行測(cè)試,并檢查其結(jié)果。在測(cè)試實(shí)例中進(jìn)行的測(cè)試,會(huì)造成生產(chǎn)實(shí)例和測(cè)試實(shí)例的數(shù)據(jù)不一致,因此在必要時(shí),需要還原測(cè)試環(huán)境使得兩邊的數(shù)據(jù)一致。Quest Software公司的SharePlex for Oracle和Toad for Oracle產(chǎn)品中,都包括了相應(yīng)的工具,可用于數(shù)據(jù)庫(kù)的比較和同步。你也可以在測(cè)試開始前,利用Oracle 10g或其它存儲(chǔ)軟件,對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份,在必要進(jìn)通過(guò)數(shù)據(jù)恢復(fù)實(shí)現(xiàn)重新同步的目標(biāo)。
將生產(chǎn)系統(tǒng)遷移到Oracle 10g:升級(jí)測(cè)試成功后,可以通過(guò)同樣的步驟,展開實(shí)際的數(shù)據(jù)庫(kù)副本升級(jí)。在數(shù)據(jù)庫(kù)副本升級(jí)到Oracle 10g且與生產(chǎn)系統(tǒng)同步后,要激活一個(gè)從Oracle 10g 到Oracle 9i的反向復(fù)制鏈路,然后讓用戶在Oracle 10g系統(tǒng)中工作。讓用戶使用新版本的軟件和數(shù)據(jù)庫(kù),能幫助你檢查測(cè)試期間遺漏的問題。這一過(guò)程不應(yīng)該有大的問題出現(xiàn)。即便如此,你還是應(yīng)該準(zhǔn)備一個(gè)備份計(jì)劃,作為重大問題出現(xiàn)時(shí)的備用方案。
更新備份系統(tǒng):一旦你的生產(chǎn)環(huán)境已經(jīng)在Oracle 10g數(shù)據(jù)庫(kù)和應(yīng)用程序中成功運(yùn)行足夠長(zhǎng)的時(shí)間,使你有了充分的信心,你會(huì)希望建立另一個(gè)10g副本,用于日常報(bào)表和查詢,以優(yōu)化OL TP性能和可用性。你對(duì)生產(chǎn)系統(tǒng)進(jìn)行日常維護(hù)時(shí),可以利用備份系統(tǒng)運(yùn)行你的應(yīng)用。
通過(guò)采用成熟的策略和專門的輔助工具,可以將升級(jí)需要的宕機(jī)時(shí)間降到最低。這種方法可以減少94%的宕機(jī)時(shí)間。在升級(jí)完成并進(jìn)行了充分的測(cè)試后,才將用戶轉(zhuǎn)移過(guò)來(lái),所有由于升級(jí)過(guò)程意外故障所引起的延誤都得以消除,這主要是由于升級(jí)過(guò)程并沒有直接在生產(chǎn)系統(tǒng)上進(jìn)行。