色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

由淺入深講解Oracle數(shù)據(jù)庫的備份與恢復(fù)

瀏覽:2日期:2023-11-28 18:00:16

備份的概念

所謂備份,就是把數(shù)據(jù)庫復(fù)制到轉(zhuǎn)儲設(shè)備的過程。其中,轉(zhuǎn)儲設(shè)備是指用于放置數(shù)據(jù)庫拷貝的磁帶或磁盤。通常也將存放于轉(zhuǎn)儲設(shè)備中的數(shù)據(jù)庫的拷貝稱為原數(shù)據(jù)庫的備份或轉(zhuǎn)儲。如下圖所示:

由淺入深講解Oracle數(shù)據(jù)庫的備份與恢復(fù)

ORACLE數(shù)據(jù)庫的備份分為物理備份和邏輯備份兩種。物理備份是將實際組成數(shù)據(jù)庫的操作系統(tǒng)文件從一處拷貝到另一處的備份過程,通常是從磁盤到磁帶。可以使用 Oracle 的恢復(fù)管理器(Recovery Manager,RMAN)或操作系統(tǒng)命令進(jìn)行數(shù)據(jù)庫的物理備份。邏輯備份是利用SQL語言從數(shù)據(jù)庫中抽取數(shù)據(jù)并存于二進(jìn)制文件的過程。Oracle提供的邏輯備份工具是 EXP。數(shù)據(jù)庫邏輯備份是物理備份的補(bǔ)充。

根據(jù)在物理備份時數(shù)據(jù)庫的狀態(tài),可以將備份分為一致性備份(consistent backup)和不一致性備份(inconsistent backup)兩種:

一致性備份:一致性備份是當(dāng)數(shù)據(jù)庫的所有可讀寫的數(shù)據(jù)庫文件和控制文件具有相同的系統(tǒng)改變號(SCN),并且數(shù)據(jù)文件不包含當(dāng)前 SCN 之外的任何改變。在做數(shù)據(jù)庫檢查點時,Oracle 使所有的控制文件和數(shù)據(jù)文件一致。對于只讀表空間和脫機(jī)的表空間,Oracle 也認(rèn)為它們是一致的。使數(shù)據(jù)庫處于一致狀態(tài)的唯一方法是數(shù)據(jù)庫正常關(guān)閉(用shutdown normal 或 shutdown immediate 命令關(guān)閉)。因此,只有在以下條件下的備份是一致性備份:

數(shù)據(jù)庫正常關(guān)閉(用shutdown normal 或 shutdown immediate 命令關(guān)閉)。

不一致性備份:不一致備份是當(dāng)數(shù)據(jù)庫的可讀寫的數(shù)據(jù)庫文件和控制文件的系統(tǒng)改變號(SCN)在不一致條件下的備份。對于一個 7*24 工作的數(shù)據(jù)庫來說,由于不可能關(guān)機(jī),而數(shù)據(jù)庫數(shù)據(jù)是不斷改變的,因此只能進(jìn)行不一致備份。在 SCN 號不一致的條件下,數(shù)據(jù)庫必須通過應(yīng)用重做日志使 SCN 一致的情況下才能啟動。因此,如果進(jìn)行不一致備份,數(shù)據(jù)庫必須設(shè)為歸檔狀態(tài),并對重做日志歸檔才有意義。在以下條件下的備份是不一致性備份:

數(shù)據(jù)庫處于打開狀態(tài)。

數(shù)據(jù)庫處于關(guān)閉狀態(tài),但是用非正常手段關(guān)閉的。例如,數(shù)據(jù)庫是通過 shutdown abort 或機(jī)器掉電等等方法關(guān)閉的。

恢復(fù)的概念

所謂恢復(fù),就是把數(shù)據(jù)庫由存在故障的狀態(tài)轉(zhuǎn)變?yōu)闊o故障狀態(tài)的過程。根據(jù)出現(xiàn)故障的原因,恢復(fù)分為兩種類型:

實例恢復(fù)。這種恢復(fù)是Oracle實例出現(xiàn)失敗后,Oracle自動進(jìn)行的恢復(fù)。

介質(zhì)恢復(fù)。這種恢復(fù)是當(dāng)存放數(shù)據(jù)庫的介質(zhì)出現(xiàn)故障時所做的恢復(fù)。本書后面提到的恢復(fù)都是指介質(zhì)恢復(fù)。

裝載(restore)物理備份與恢復(fù)(Recover)物理備份是介質(zhì)恢復(fù)的手段。裝載是將備份考回到磁盤,恢復(fù)是利用重做日志(物理備份的一部分)修改考回到磁盤的數(shù)據(jù)文件(物理備份的另一部分),從而恢復(fù)數(shù)據(jù)庫的過程。如下圖所示:

由淺入深講解Oracle數(shù)據(jù)庫的備份與恢復(fù)

根據(jù)數(shù)據(jù)庫的恢復(fù)程度,將恢復(fù)方法分為兩種類型:

完全恢復(fù):將數(shù)據(jù)庫恢復(fù)到數(shù)據(jù)庫失敗時數(shù)據(jù)庫的狀態(tài)。這種恢復(fù)是通過裝載數(shù)據(jù)庫備份和并應(yīng)用全部的重做日志做到的。

不完全恢復(fù):將數(shù)據(jù)庫恢復(fù)到數(shù)據(jù)庫失敗前的某一時刻數(shù)據(jù)庫的狀態(tài)。這種恢復(fù)是通過裝載數(shù)據(jù)庫備份和并應(yīng)用部分的重做日志做到的。進(jìn)行不完全恢復(fù)后必須在啟動數(shù)據(jù)庫時用 resetlogs 選項重設(shè)聯(lián)機(jī)重做日志。

例如,在上午10:00,由于磁盤損壞導(dǎo)致數(shù)據(jù)庫中止使用。現(xiàn)在使用兩種方法進(jìn)行數(shù)據(jù)庫的恢復(fù),第一種方法使數(shù)據(jù)庫可以正常使用,且使恢復(fù)后與損壞時(10:00)數(shù)據(jù)庫中的數(shù)據(jù)相同,那么第一種恢復(fù)方法就屬于完全恢復(fù)類型;第二種方法能使數(shù)據(jù)庫正常使用,但只能使恢復(fù)后與損壞前(例如9:00)數(shù)據(jù)庫中的數(shù)據(jù)相同,沒能恢復(fù)數(shù)據(jù)庫到失敗時(10:00)數(shù)據(jù)庫的狀態(tài),那么第二種恢復(fù)方法就屬于不完全恢復(fù)類型。

事實上,如果數(shù)據(jù)庫備份是一致性的備份,則裝載后的數(shù)據(jù)庫即可使用,從而也可以不用重做日志恢復(fù)到數(shù)據(jù)庫備份時的點。這也是一種不完全恢復(fù)。

由淺入深講解Oracle數(shù)據(jù)庫的備份與恢復(fù)

備份與恢復(fù)的關(guān)系

備份一個Oracle數(shù)據(jù)庫,類似于買醫(yī)療保險——在遇到疾病之前不會意識到它的重要性,獲得保險金的數(shù)量取決于保險單的種類。同理,隨著制作備份的種類和頻繁程度的不同,數(shù)據(jù)庫發(fā)生故障后其恢復(fù)的可行性、難度與所花費的時間也不同。

數(shù)據(jù)庫故障是指數(shù)據(jù)庫運行過程中影響數(shù)據(jù)庫正常使用的特殊事件。數(shù)據(jù)庫故障有許多類型,最嚴(yán)重的是介質(zhì)失敗(如磁盤損壞),這種故障如不能恢復(fù)將導(dǎo)致數(shù)據(jù)庫中數(shù)據(jù)的丟失。數(shù)據(jù)庫故障類型有:

語句失敗。

用戶進(jìn)程失敗。

實例失敗。

用戶或應(yīng)用錯誤操作。這類錯誤可能是意外地刪除了表中的數(shù)據(jù)等錯誤操作。

介質(zhì)失敗。如硬盤失敗,硬盤中的數(shù)據(jù)丟失。

自然災(zāi)害。如地震、洪水等。

由于故障類型的不同,恢復(fù)數(shù)據(jù)庫的方法也不同。通過裝載備份來恢復(fù)數(shù)據(jù)庫既是常用的恢復(fù)手段,也是恢復(fù)介質(zhì)失敗故障的主要方法。

備份與恢復(fù)要考慮的問題

備份與恢復(fù)要考慮以下的三個問題:

備份與恢復(fù)策略要考慮的商業(yè)、操作、及技術(shù)問題;

災(zāi)難恢復(fù)計劃的組成;

測試備份與恢復(fù)策略的重要性。

能夠進(jìn)行什么樣的恢復(fù)依賴于有什么樣的備份。作為 DBA,有責(zé)任從以下三個方面維護(hù)數(shù)據(jù)庫的可恢復(fù)性:

使數(shù)據(jù)庫的失效次數(shù)減到最少,從而使數(shù)據(jù)庫保持最大的可用性;

當(dāng)數(shù)據(jù)庫不可避免地失效后,要使恢復(fù)時間減到最少,從而使恢復(fù)的效率達(dá)到最高;

當(dāng)數(shù)據(jù)庫失效后,要確保盡量少的數(shù)據(jù)丟失或根本不丟失,從而使數(shù)據(jù)具有最大的可恢復(fù)性。

備份與恢復(fù)策略要考慮的商業(yè)、操作、及技術(shù)問題

作為 DBA,首先需要了解企業(yè)是如何使用數(shù)據(jù)庫系統(tǒng)的,以及企業(yè)對數(shù)據(jù)庫的可用性,恢復(fù)性能,和數(shù)據(jù)的可恢復(fù)性以及恢復(fù)時間的要求。然后,DBA 需要使企業(yè)的管理人員了解維護(hù)這樣的數(shù)據(jù)庫的可用性的代價有多大。做到這點的最好方法是評估恢復(fù)需要的花費,以及丟失數(shù)據(jù)給企業(yè)帶來的損失。

在代價被評估后,就可以進(jìn)行備份與恢復(fù)的討論了。此時,要定義數(shù)據(jù)庫總體的可用性需求,并根據(jù)各項工作對數(shù)據(jù)庫可用性的影響程度來定義工作重點的次序。例如,如果數(shù)據(jù)庫需要 7*24 的可用性,那么其重要性就高于其它任何工作,其它任何需要關(guān)機(jī)才能做的工作就不能做。

另外,數(shù)據(jù)庫變化的情況也是備份與恢復(fù)策略需要考慮的一個因素。例如,如果數(shù)據(jù)不斷改變,有新數(shù)據(jù)或數(shù)據(jù)文件加入,或表結(jié)構(gòu)有大的變化,則應(yīng)該經(jīng)常備份;反之,如果數(shù)據(jù)是靜態(tài)的或只讀的,則備份一次即可。無論如何,應(yīng)遵從這樣一個原則,如果懷疑數(shù)據(jù)庫的可恢復(fù)性,就應(yīng)該備份。

災(zāi)難恢復(fù)計劃的組成

針對災(zāi)難恢復(fù),必須回答下述問題:

系統(tǒng)可能出現(xiàn)什么樣的災(zāi)難恢復(fù)情況?

如果出現(xiàn)數(shù)據(jù)丟失,災(zāi)難恢復(fù)情況是怎樣的?

系統(tǒng)中數(shù)據(jù)的易變程度如何?

如果出現(xiàn)問題,系統(tǒng)需要多快的速度恢復(fù)?

在各種情況下恢復(fù)策略的代價,以及相應(yīng)的花時間重新錄入數(shù)據(jù)的代價?

對這些問題的回答組成了災(zāi)難恢復(fù)計劃。

計算機(jī)是易壞的。主板上的芯片、主板電路、內(nèi)存、電源等任何一項不能正常工作,都會導(dǎo)致計算機(jī)系統(tǒng)不能正常工作。當(dāng)然,這些損壞可以修復(fù),不會導(dǎo)致應(yīng)用和數(shù)據(jù)的損壞。但是,如果計算機(jī)的硬盤損壞,將會導(dǎo)致數(shù)據(jù)丟失,此時必須用備份恢復(fù)數(shù)據(jù)。

災(zāi)難恢復(fù)的最重要步驟是設(shè)計充足頻率的硬盤備份過程。備份過程應(yīng)該滿足系統(tǒng)要求的可恢復(fù)性。例如,如果數(shù)據(jù)庫可有較長的關(guān)機(jī)時間,則可以每周進(jìn)行一次冷備份,并歸檔重做日志;但是,如果數(shù)據(jù)庫只有極少的關(guān)機(jī)時間,則只能從硬件的角度來考慮備份與恢復(fù)的問題,例如使用硬盤鏡像或雙機(jī)系統(tǒng)。選擇備份策略的依據(jù)是:丟是數(shù)據(jù)的代價與確保數(shù)據(jù)不丟失的代價之比。

果每天都能備份當(dāng)然會很理想,但要考慮其現(xiàn)實性。企業(yè)都在想辦法降低維護(hù)成本,現(xiàn)實的方案才可能被采用。只要仔細(xì)計劃,并想辦法達(dá)到數(shù)據(jù)庫可用性的底線,花少量的錢進(jìn)行成功的備份與恢復(fù)也是可能的。

DBA 還應(yīng)以服務(wù)協(xié)議的形式制訂一個可恢復(fù)性與可用性的標(biāo)準(zhǔn)文件。該文件應(yīng)成為討論DBA 服務(wù),以及服務(wù)是否能達(dá)到預(yù)期標(biāo)準(zhǔn)的依據(jù)。這樣做可使所有相關(guān)人員對同樣的預(yù)期有潛在的危機(jī)感。

測試備份與恢復(fù)策略的重要性

備份與恢復(fù)策略必須經(jīng)測試無誤后才可使用。如果進(jìn)行了備份,但不知道該備份是否支持希望的恢復(fù)目標(biāo)則與根本沒有備份沒有兩樣。

恢復(fù)策略也要考慮慮對環(huán)境的依賴性。例如,假如機(jī)器的硬盤失效了,供貨商能在多長時間內(nèi)提供一個新的硬盤;在機(jī)器需要重新啟動時,能找到操作系統(tǒng)管理員嗎?

另外一個需要考慮的問題是數(shù)據(jù)庫是否能經(jīng)受自然的破壞。應(yīng)在與計算機(jī)不同的地方再存儲一份備份介質(zhì),以免出現(xiàn)自然災(zāi)害時主機(jī)與備份一起遭到破壞。

最后需要考慮的問題是萬一DBA 出現(xiàn)了問題怎么辦?后備的DBA能否執(zhí)行備份策略?他或她能找到支持用的文檔嗎?這些文檔存在嗎?

沒有比花了大精力指定了好的計劃,但沒有測試其有效性而使其付諸東流的了。一個好的計劃還應(yīng)容納人為錯誤,特別是用于開發(fā)的系統(tǒng)。理想的測試計劃應(yīng)包括以下內(nèi)容:

一系列的測試?yán)蛹捌錉顟B(tài)描述;

測試結(jié)果是否成功的標(biāo)準(zhǔn);

解決這些狀態(tài)的步驟。

只有在上述情況測試成功的前提下,DBA 才應(yīng)該考慮把備份計劃付諸實施,用于實際使用的生產(chǎn)系統(tǒng)。

在數(shù)據(jù)庫實際使用時,備份策略的測試也不能終止。小范圍的測試可以確保備份策略可以滿足未來的需求。隨著應(yīng)用系統(tǒng)的成熟,備份策略也應(yīng)相應(yīng)地成熟。如果備份策略不能滿足新的需求,就應(yīng)該重新設(shè)計。

測試備份策略的益處:

測試人工的備份過程可能會發(fā)現(xiàn)人工的疏漏,促使DBA考慮自動的備份方法。只要自動的備份過程經(jīng)過了測試,并能解決數(shù)據(jù)庫改變后的(例如增加了表空間)的備份問題,自動備份是有益無害的。

測試的另外一個好處是可以發(fā)現(xiàn)數(shù)據(jù)塊的問題。如果數(shù)據(jù)文件的一個或多個數(shù)據(jù)塊損壞了,而又使用了數(shù)據(jù)庫的物理備份方法,則損壞了的數(shù)據(jù)塊會被拷貝到備份文件中,這會導(dǎo)致備份的損壞和數(shù)據(jù)庫的損壞。如果不做測試,該問題是不會被發(fā)現(xiàn)的。當(dāng)然,也可以通過設(shè)置INIT.ORA 文件中的參數(shù)DB_BLOCK_CHECKSUM 或用DBVERIFY 實用工具進(jìn)行數(shù)據(jù)的完整性檢查。

標(biāo)簽: Oracle 數(shù)據(jù)庫
主站蜘蛛池模板: 黑色丝袜美美女被躁视频 | 日本三级11k影院在线 | 免费在线观看一级毛片 | 国产精品成人久久久久 | free性chinese国语对白 | 欧美一级特黄特黄毛片 | 九热视频在线观看 | 亚洲综合在线观看视频 | 91久久国产露脸精品免费 | 一级国产| 91精品国产91热久久久久福利 | 国内一区二区 | 99精品久久99久久久久久 | 在线精品国产成人综合第一页 | 俄罗斯a级毛片 | 亚洲精品欧美精品国产精品 | 在线高清免费爱做网 | 91精品欧美综合在线观看 | 欧美做爰免费大片在线观看 | 亚洲日韩视频免费观看 | 全部免费毛片免费播放 | 精品日韩二区三区精品视频 | 亚洲精品69| 真正国产乱子伦高清对白 | 国产精品亚洲欧美日韩区 | 国产亚洲欧美日韩在线观看不卡 | 成人性生免费视频 | 毛片基地免费视频a | 国产精品情侣久久婷婷文字 | 欧美精品在线视频 | 欧美一级人与动毛片免费播放 | 一级特黄国产高清毛片97看片 | 农村寡妇野外情一级毛片 | www.亚洲国产| 大片刺激免费播放视频 | 欧美日韩在线视频观看 | 国产精品理论片在线观看 | 91久久精品国产一区二区 | 国产成人禁片免费观看 | 99国产精品热久久久久久夜夜嗨 | 欧美在线1 |