時間:2022-12-29 16:30:02 | 來源:信息時代
時間:2022-12-29 16:30:02 來源:信息時代
介質(zhì)故障的恢復 : 針對介質(zhì)故障進行恢復的機制和過程。介質(zhì)故障(media failure)是指類似磁盤損壞等嚴重的故障。這是最嚴重的一種故障,不僅影響到使用受損數(shù)據(jù)庫的當前事務,而且會丟失已經(jīng)提交的事務的數(shù)據(jù)。對于這一類故障,單靠日志文件已經(jīng)不夠了,還需要新的“冗余”信息,這就是數(shù)據(jù)備份或稱數(shù)據(jù)轉(zhuǎn)儲。在系統(tǒng)發(fā)生介質(zhì)故障的時候就可以重裝數(shù)據(jù)庫備份,至少可以恢復到數(shù)據(jù)庫轉(zhuǎn)儲時的狀態(tài),將損失降到最小。如果還有日志可用,則可以從數(shù)據(jù)庫備份出發(fā),執(zhí)行必要的REDO操作和UNDO操作,這樣就可以把數(shù)據(jù)庫恢復到故障發(fā)生前的一致狀態(tài)。
數(shù)據(jù)轉(zhuǎn)儲(backup/achieve/dump)是指數(shù)據(jù)庫管理員(DBA)定期地將這個數(shù)據(jù)庫備份到另一個磁盤或者另一個系統(tǒng)上保存起來的過程。如果在轉(zhuǎn)儲過程中沒有事務在運行,得到的數(shù)據(jù)庫備份就是一個一致的備份。由于數(shù)據(jù)庫轉(zhuǎn)儲是將整個數(shù)據(jù)庫進行備份,因此是十分耗費時間資源的操作,不能頻繁地進行。另一方面,在轉(zhuǎn)儲期間不允許其他事務執(zhí)行,也會嚴重影響系統(tǒng)的性能。如何提高轉(zhuǎn)儲效率是一個重要的研究課題。
按照在轉(zhuǎn)儲時是否有事務運行可區(qū)分為靜態(tài)轉(zhuǎn)儲和動態(tài)轉(zhuǎn)儲。
靜態(tài)轉(zhuǎn)儲是指轉(zhuǎn)儲開始的時候,數(shù)據(jù)庫處于一致的狀態(tài),而轉(zhuǎn)儲期間不允許有事務在執(zhí)行。顯然,靜態(tài)轉(zhuǎn)儲得到的一定是一個數(shù)據(jù)庫一致性副本。DBMS只要在接受DBA開始轉(zhuǎn)儲的指令后,先將活動的事務全部提交或者撤銷,并且不允許新的事務啟動,就可以獲得一個靜態(tài)轉(zhuǎn)儲副本。
動態(tài)轉(zhuǎn)儲是指在轉(zhuǎn)儲期間允許其他事務繼續(xù)對數(shù)據(jù)庫進行存取和修改。動態(tài)轉(zhuǎn)儲可以克服靜態(tài)轉(zhuǎn)儲的缺點,它不需要等待正在運行的事務結(jié)束,也不影響新事務啟動和運行。但是,這樣做的代價是,轉(zhuǎn)儲獲得的數(shù)據(jù)庫副本并不是一致的。還需要記錄轉(zhuǎn)儲期間所有的操作,建立日志文件。這樣數(shù)據(jù)庫副本加上日志才能把數(shù)據(jù)庫恢復到一個一致的狀態(tài)。
按照轉(zhuǎn)儲的方式的不同,轉(zhuǎn)儲還可以劃分為全量轉(zhuǎn)儲和增量轉(zhuǎn)儲。
全量轉(zhuǎn)儲是指每次轉(zhuǎn)儲都是將整個數(shù)據(jù)庫進行備份。這種方式的好處是恢復簡單,主要問題就是時間和空間的開銷都比較大。增量轉(zhuǎn)儲是指每次只轉(zhuǎn)儲上一次轉(zhuǎn)儲后更新過的數(shù)據(jù)。這種方法的好處是轉(zhuǎn)儲的時間空間開銷較小,但是要獲得一個一致性的數(shù)據(jù)庫副本就比較費事。需要從最近一個全量轉(zhuǎn)儲備份開始,并匯總?cè)康脑隽哭D(zhuǎn)儲的內(nèi)容,得到一個一致的轉(zhuǎn)儲時副本。
不同的轉(zhuǎn)儲方式和不同的轉(zhuǎn)儲狀態(tài)可以組合成四種不同的轉(zhuǎn)儲方法。
有了數(shù)據(jù)庫轉(zhuǎn)儲備份和日志,就可以進行介質(zhì)故障的恢復。具體包括兩個步驟:
(1)重裝數(shù)據(jù)庫。即裝入離故障發(fā)生時刻最近的轉(zhuǎn)儲副本,并在需要的時候(動態(tài)轉(zhuǎn)儲時)借助日志恢復到轉(zhuǎn)儲開始時數(shù)據(jù)庫的一致狀態(tài)。
(2)重做已經(jīng)完成的事務。裝入轉(zhuǎn)儲結(jié)束時的日志文件,重做已經(jīng)完成的事務。注意,這時沒有必要執(zhí)行UNDO操作。
轉(zhuǎn)儲時DBA需要根據(jù)應用的具體情況,制定轉(zhuǎn)儲計劃,包括轉(zhuǎn)儲周期、轉(zhuǎn)儲方式等。例如,對于可以停止服務的系統(tǒng),就可以定期(每周或者每月)地進行靜態(tài)全量轉(zhuǎn)儲,建立一個一致的備份點。然后在這個期間內(nèi),還可以進行增量轉(zhuǎn)儲。另外,為了使介質(zhì)故障的損失最小,日志也需要轉(zhuǎn)儲到不同的系統(tǒng)中,甚至異地系統(tǒng)中去。
關(guān)鍵詞:數(shù)據(jù),恢復,故障,介質(zhì)
微信公眾號
版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。