數(shù)據(jù)庫原理與開發(fā)技術(shù) 課件 7.3 數(shù)據(jù)庫恢復(fù)技術(shù)_第1頁
數(shù)據(jù)庫原理與開發(fā)技術(shù) 課件 7.3 數(shù)據(jù)庫恢復(fù)技術(shù)_第2頁
數(shù)據(jù)庫原理與開發(fā)技術(shù) 課件 7.3 數(shù)據(jù)庫恢復(fù)技術(shù)_第3頁
數(shù)據(jù)庫原理與開發(fā)技術(shù) 課件 7.3 數(shù)據(jù)庫恢復(fù)技術(shù)_第4頁
數(shù)據(jù)庫原理與開發(fā)技術(shù) 課件 7.3 數(shù)據(jù)庫恢復(fù)技術(shù)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

7.3數(shù)據(jù)庫恢復(fù)技術(shù)本章主要內(nèi)容:(1)事務(wù):事務(wù)的概念、事務(wù)的ACID性質(zhì)、事務(wù)的狀態(tài)變遷圖(2)數(shù)據(jù)科的并發(fā)控制:并發(fā)操作產(chǎn)生的3類問題、鎖(3)數(shù)據(jù)庫的恢復(fù)技術(shù):重復(fù)存儲、寫日志(4)數(shù)據(jù)庫的完整性控制:數(shù)據(jù)的正確性、有效性和相容性(5)數(shù)據(jù)庫的安全性控制:合法用法的授權(quán)訪問7.3數(shù)據(jù)庫恢復(fù)技術(shù)數(shù)據(jù)庫系統(tǒng)在運(yùn)行時,很多因素,例如,軟件錯誤、硬件損壞、電源故障、機(jī)房失火、炮炸,甚至人為破壞等,都可能導(dǎo)致系統(tǒng)出現(xiàn)故障,并出現(xiàn)數(shù)據(jù)丟失的情況。DBMS的恢復(fù)管理子系統(tǒng)采取許多措施,保證在任何情況下保持事務(wù)的原子性和持久性,確保數(shù)據(jù)不丟失、不破壞。定義7-6數(shù)據(jù)庫系統(tǒng)能把數(shù)據(jù)庫從被破壞、不正確的狀態(tài)恢復(fù)到最近一個正確的狀態(tài),DBMS的這種能力稱為數(shù)據(jù)庫的可恢復(fù)性(Recovery)。

數(shù)據(jù)恢復(fù)的基本原理非常簡單,就是冗余。其中最常用的技術(shù)就是數(shù)據(jù)備份(backup)和記錄日志文件(log)。7.3數(shù)據(jù)庫恢復(fù)技術(shù)日志管理器負(fù)責(zé)用戶對數(shù)據(jù)庫的操作做好日志記錄,同時利用DBMS提供的功能,不停地做好數(shù)據(jù)庫備份。這兩點(diǎn)是數(shù)據(jù)庫恢復(fù)的基礎(chǔ)。一旦故障發(fā)生,利用備份文件進(jìn)行還原,在還原的基礎(chǔ)上利用日志文件進(jìn)行恢復(fù),重新建立一個完整的數(shù)據(jù)庫?;謴?fù)的具體細(xì)節(jié),與數(shù)據(jù)庫發(fā)生的故障種類有關(guān)。

7.3.1故障的種類數(shù)據(jù)庫系統(tǒng)在運(yùn)行中,可能會發(fā)生各種各樣的故障,大致可分4類。

1.事務(wù)故障事務(wù)在執(zhí)行過程中發(fā)生的故障,稱為事務(wù)故障。此類故障只發(fā)生在單個或多個事務(wù)上,系統(tǒng)能夠正常運(yùn)行,其他事務(wù)不受影響。事務(wù)故障又分兩種:(1)可以預(yù)期的事務(wù)故障。通過程序本身可以發(fā)現(xiàn),利用Rollback回滾事務(wù),即可。例如例題7-1中的16行源代碼,銀行轉(zhuǎn)賬余額不足。

(2)不可預(yù)期的事務(wù)故障。指在程序中未估計(jì)到的錯誤,例如,運(yùn)算溢出、違反數(shù)據(jù)完整性約束、并發(fā)事務(wù)產(chǎn)生死鎖后被系統(tǒng)強(qiáng)制撤銷等。此時由系統(tǒng)直接對該事務(wù)進(jìn)行Undo(撤銷)處理。

7.3.1故障的種類

2.系統(tǒng)故障引起系統(tǒng)停止運(yùn)轉(zhuǎn)、隨之要求系統(tǒng)必須重新啟動的事件,稱為“系統(tǒng)故障”。例如,硬件故障、軟件錯誤(包括DBMS、OS或應(yīng)用程序)、突然停電等。系統(tǒng)故障會影響正在運(yùn)行的所有事務(wù),這些事務(wù)都是非正常終止,有些事務(wù)完成了提交,有些事務(wù)完成了部分提交,有些事務(wù)還在緩沖區(qū)內(nèi)沒有提交,這樣可能破壞數(shù)據(jù)庫的完整性,但不破壞整個數(shù)據(jù)庫。一般情況下,DBMS的恢復(fù)子系統(tǒng)必須在系統(tǒng)重新啟動時,對那些非正常終止的事務(wù)進(jìn)行處理,把數(shù)據(jù)庫恢復(fù)到正確狀態(tài)即可。

7.3.1故障的種類3.介質(zhì)故障硬盤上的數(shù)據(jù)庫遭到破壞,使得數(shù)據(jù)庫系統(tǒng)無法正常運(yùn)行,這類故障稱為“介質(zhì)故障”,也稱硬故障。例如,硬盤損壞、磁頭碰撞等。發(fā)生這類故障時,一般使用最近的備份文件,還原數(shù)據(jù),然后利用日志進(jìn)行恢復(fù)。計(jì)算機(jī)病毒是一種人為的故障或破壞,它是由某些人惡意編制的計(jì)算機(jī)程序,會像病毒一樣進(jìn)行傳播,并對數(shù)據(jù)庫系統(tǒng)造成嚴(yán)重破壞。

4.計(jì)算機(jī)病毒

7.3.2數(shù)據(jù)恢復(fù)的實(shí)現(xiàn)技術(shù)數(shù)據(jù)恢復(fù)機(jī)制涉及兩個問題:一是如何做數(shù)據(jù)備份,二是如何利用備份文件進(jìn)行數(shù)據(jù)庫恢復(fù)。其中,建立數(shù)據(jù)庫備份最常用的技術(shù)是:數(shù)據(jù)轉(zhuǎn)儲和記錄數(shù)據(jù)庫操作日志。數(shù)據(jù)庫轉(zhuǎn)儲是指數(shù)據(jù)庫管理員(DBA)定期地將整個數(shù)據(jù)庫復(fù)制到另一個磁盤或磁帶上保存起來。這些稱為數(shù)據(jù)庫的備份文件。一旦當(dāng)數(shù)據(jù)庫發(fā)生故障而無法自動修復(fù)時,就可以利用最近的備份文件,進(jìn)行數(shù)據(jù)庫恢復(fù)。這種方法,只能恢復(fù)轉(zhuǎn)儲時的數(shù)據(jù)庫狀態(tài),轉(zhuǎn)儲后的數(shù)據(jù)無法直接恢復(fù),這時就要依賴日志文件進(jìn)行恢復(fù),而且還有看故障的破壞程度。

1.數(shù)據(jù)轉(zhuǎn)儲

7.3.2數(shù)據(jù)恢復(fù)的實(shí)現(xiàn)技術(shù)數(shù)據(jù)庫轉(zhuǎn)儲分:靜態(tài)轉(zhuǎn)儲和動態(tài)轉(zhuǎn)儲。一般DBMS都提供有數(shù)據(jù)庫備份的語句,或功能。例如,在MySQLWorkbench中,點(diǎn)擊如圖7-7中的DataExport(數(shù)據(jù)導(dǎo)出),可以對所選擇的數(shù)據(jù)庫進(jìn)行備份。一旦發(fā)生介質(zhì)故障,就可以用備份的文件,進(jìn)行數(shù)據(jù)庫恢復(fù)。

靜態(tài)轉(zhuǎn)儲,也稱數(shù)據(jù)庫備份,是指數(shù)據(jù)庫在沒有任何事務(wù)操作的狀態(tài)下,數(shù)據(jù)庫文件的復(fù)制,比較簡單,但能獲得一致性的副本。靜態(tài)轉(zhuǎn)儲需要經(jīng)常定期或不定期進(jìn)行,每次都比較耗時,故DBA一般選擇在晚上進(jìn)行。每次備份后,僅能保存當(dāng)時的數(shù)據(jù)庫,不含備份后操作數(shù)據(jù)庫的狀態(tài)。

7.3.2數(shù)據(jù)恢復(fù)的實(shí)現(xiàn)技術(shù)

7.3.2數(shù)據(jù)恢復(fù)的實(shí)現(xiàn)技術(shù)

7.3.2數(shù)據(jù)恢復(fù)的實(shí)現(xiàn)技術(shù)動態(tài)轉(zhuǎn)儲,是指允許其他事務(wù)對數(shù)據(jù)庫進(jìn)行操作的同時進(jìn)行數(shù)據(jù)庫的復(fù)制,這一般涉及到檢查點(diǎn)技術(shù)。日志文件是用來記錄事務(wù)對數(shù)據(jù)庫更新的文件。不同的數(shù)據(jù)庫系統(tǒng)采用的日志文件格式并不完全相同。概括起來有兩種格式:以記錄為單位形成日志文件、或以數(shù)據(jù)塊為單位的日記文件。

2.記錄日志文件

7.3.2數(shù)據(jù)恢復(fù)的實(shí)現(xiàn)技術(shù)日志文件主要用于數(shù)據(jù)庫恢復(fù)。主要作用有:(1)在事務(wù)故障和系統(tǒng)故障的恢復(fù)時必須使用日志文件進(jìn)行撤銷(Undo)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論