數(shù)據(jù)庫的備份與恢復(fù).ppt_第1頁
數(shù)據(jù)庫的備份與恢復(fù).ppt_第2頁
數(shù)據(jù)庫的備份與恢復(fù).ppt_第3頁
數(shù)據(jù)庫的備份與恢復(fù).ppt_第4頁
數(shù)據(jù)庫的備份與恢復(fù).ppt_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第 10 講 數(shù)據(jù)庫的備份與恢復(fù),數(shù)據(jù)庫技術(shù),進(jìn)行數(shù)據(jù)的備份是數(shù)據(jù)庫的日常維護(hù)工作之一。,問題的提出:數(shù)據(jù)庫系統(tǒng)出現(xiàn)故障后,如何把數(shù)據(jù)庫從錯誤狀態(tài)恢復(fù)到正確狀態(tài)? 恢復(fù)技術(shù):數(shù)據(jù)庫備份+日志文件,1、事務(wù)的概念( Transaction ) 所謂事務(wù)是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么都做,要么都不做,是一個不可分割的工作單位。 在關(guān)系數(shù)據(jù)庫中,事務(wù)可以是一條SQL語句、一組SQL語句。 在SQL語言中,定義事務(wù)的語句有三條: Begin Transaction 開始 Commit 結(jié)束 Rollback,begin transaction select * from teacher;

2、 update teacher set title=null where tno=101; select * from teacher; rollback; select * from teacher;,事務(wù)特性(ACID) 原子性(Atomicity) 事務(wù)中包含的所有操作要么全做,要么全不做。 一致性(Consistency) 事務(wù)的隔離執(zhí)行必須保證數(shù)據(jù)庫的一致性。 事務(wù)開始前,數(shù)據(jù)庫處于一致性的狀態(tài);事務(wù)結(jié)束后,數(shù)據(jù)庫必須仍處于一致性狀態(tài)。,隔離性(Isolation) 系統(tǒng)必須保證事務(wù)不受其它并發(fā)執(zhí)行事務(wù)的影響。 對任何一對事務(wù)T1,T2,在T1看來,T2要么在T1開始之前已經(jīng)結(jié)束,要

3、么在T1完成之后再開始執(zhí)行。 隔離性通過并發(fā)控制機(jī)制實現(xiàn)。 持久性(Durability) 一個事務(wù)一旦提交之后,它對數(shù)據(jù)庫的影響必須是永久的。,事務(wù)狀態(tài),活動狀態(tài),失敗狀態(tài),部分 提交狀態(tài),提交狀態(tài),中止?fàn)顟B(tài),初始狀態(tài),事務(wù)無法繼 續(xù)正常執(zhí)行,事務(wù)回滾,數(shù)據(jù)庫恢 復(fù)到事務(wù)開始前狀態(tài),最后一條語 句被執(zhí)行后,成功完成,永 久寫入數(shù)據(jù)庫,2、日志文件 日志文件的格式和內(nèi)容 日志文件是用來記錄事務(wù)對數(shù)據(jù)庫的更新操作的文件。不同數(shù)據(jù)庫系統(tǒng)采用的日志文件格式并不完全一樣。,每個日志記錄的內(nèi)容主要包括: 事務(wù)標(biāo)識 (標(biāo)明是哪個事務(wù)) 操作的類型(插入、刪除或修改) 操作對象(記錄內(nèi)部標(biāo)識) 更新前數(shù)據(jù)的

4、舊值 (對插入操作而言,此項為空值) 更新后數(shù)據(jù)的新值 (對刪除操作而,此項為空值),日志文件的作用:,正常運行,登記日志文件,故障點,數(shù)據(jù)庫恢復(fù),利用日志文件恢復(fù)事務(wù),繼續(xù)運行,登記日志文件,登記日志文件( Logging ) 原則: 登記的次序嚴(yán)格按事務(wù)執(zhí)行的時間次序。 必須先寫日志,后寫數(shù)據(jù)庫。,3、恢復(fù)策略 事務(wù)故障的恢復(fù) 指事務(wù)在運行至正常終點前被終止。 a.反向掃描日志文件,查找該事務(wù)的更新操作。 b.對該事務(wù)的更新操作執(zhí)行逆操作。 說明:事務(wù)故障的恢復(fù)由系統(tǒng)自動完成。,系統(tǒng)故障的恢復(fù) a.正向掃描日志文件,找出故障發(fā)生前已提交的事務(wù),將其放入重做(REDO)隊列;找出故障發(fā)生前未

5、提交的事務(wù),將其放入撤消(UNDO)隊列。 b.對撤消(UNDO)隊列中的事務(wù)進(jìn)行撤消處理。 c.對重做(REDO)隊列中的事務(wù)進(jìn)行重做處理。 介質(zhì)故障的恢復(fù) a.裝入數(shù)據(jù)庫備份和日志文件備份。b.重做已完成的事務(wù)。,具有檢查點(checkpoint)的恢復(fù)技術(shù) 問題的提出:在執(zhí)行恢復(fù)操作時,需要掃描整個日志文件,有可能重復(fù)執(zhí)行某些操作。 檢查點的用途是在磁盤上建立事務(wù)處理一致性的標(biāo)志。 技術(shù)原理:在日志文件中增加一類新記錄,檢查點; 增加一個重新開始文件; 恢復(fù)子系統(tǒng)動態(tài)維護(hù)日志。,恢復(fù)子系統(tǒng)可以定期或不定期地建立檢查點保存數(shù)據(jù)庫狀態(tài)。檢查點可以按照預(yù)定的一個時間間隔建立。如,每隔一小時建立

6、一個檢查點;也可以按照某種規(guī)則建立檢查點,如日志文件已寫滿一半建立一個檢查點。 使用檢查點方法可以改善恢復(fù)效率。當(dāng)事務(wù)T在一個檢查點之前提交,T對數(shù)據(jù)庫所做的修改一定都已寫入數(shù)據(jù)庫,寫入時間是在這個檢查點建立之前或在這個檢查點建立之時。這樣,在進(jìn)行恢復(fù)處理時,沒有必要對事務(wù)T執(zhí)行Redo操作。,檢查點,故障點,REDO,撤消,- 定義 恢復(fù)是把數(shù)據(jù)庫從錯誤狀態(tài)恢復(fù)到某一正確狀態(tài)的功能,從而確保數(shù)據(jù)庫的一致性。 恢復(fù)的基本原理是冗余,即數(shù)據(jù)庫中任一部分的數(shù)據(jù)可以根據(jù)存儲在系統(tǒng)別處的冗余數(shù)據(jù)來重建。 - 日志 日志文件是用來記錄數(shù)據(jù)庫的每一次更新活動的文件,由系統(tǒng)自動記錄。 日志內(nèi)容包括:記錄名、

7、舊記錄值、新記錄值、事務(wù)標(biāo)識符、操作標(biāo)識符等。,數(shù)據(jù)庫恢復(fù)(小結(jié)),基本的恢復(fù)操作: 對圓滿事務(wù)所做過的修改操作應(yīng)執(zhí)行redo操作,即重新執(zhí)行該操作,修改對象被賦予新記錄值。 對夭折事務(wù)所做過的修改操作應(yīng)執(zhí)行undo操作,即撤消該操作,修改對象被賦予舊記錄值。,先寫日志的原則(WAL) 對于尚未提交的事務(wù),在將DB緩沖區(qū)寫到外存之前,必須先將日志緩沖區(qū)內(nèi)容寫到外存去。 如果先寫DB,則可能在寫的中途發(fā)生系統(tǒng)崩潰,導(dǎo)致內(nèi)存緩沖區(qū)內(nèi)容丟失,而外存DB處于不一致狀態(tài),由于日志緩沖區(qū)內(nèi)容已破壞,導(dǎo)致無法對DB恢復(fù)。 日志記錄將要發(fā)生何種修改。 寫入DB表示實際發(fā)生何種修改。,服務(wù)器容錯技術(shù): 磁盤鏡像

8、,雙機(jī)備份,雙機(jī)磁盤陣列,服務(wù)器,服務(wù)器,服務(wù)器,服務(wù)器,服務(wù)器,RAID,RAID(磁盤陣列:Redundant Array of Inexpensive Disk,簡稱RAID技術(shù))。它是1988年由美國加州大學(xué)Berkeley分校的David Patterson教授等人提出來的磁盤冗余技術(shù)。從那時起,磁盤陣列技術(shù)發(fā)展得很快,并逐步走向成熟。,RAID 0 (0級磁盤陣列) RAID 0又稱數(shù)據(jù)分塊,即把數(shù)據(jù)分布在多個盤上,沒有容錯措施。其容量和數(shù)據(jù)傳輸率是單機(jī)容量的N倍,N為構(gòu)成磁盤陣列的磁盤機(jī)的總數(shù),I/O傳輸速率高,但平均無故障時間MTTF(Mean Time To Failure)

9、只有單臺磁盤機(jī)的N分之一,因此零級磁盤陣列的可靠性最差。,RAID l (1級磁盤陣列) RAID l又稱鏡像(Mirror)盤,采用鏡像容錯來提高可靠性。即每一個工作盤都有一個鏡像盤,每次寫數(shù)據(jù)時必須同時寫入鏡像盤,讀數(shù)據(jù)時只從工作盤讀出。一旦工作盤發(fā)生故障立即轉(zhuǎn)入鏡像盤,從鏡像盤中讀出數(shù)據(jù),然后由系統(tǒng)再恢復(fù)工作盤正確數(shù)據(jù)。因此這種方式的數(shù)據(jù)可以重構(gòu),但工作盤和鏡像盤必須保持一一對應(yīng)關(guān)系。這種磁盤陣列可靠性很高,但其有效容量減小到總?cè)萘恳话胍韵?。因此RAID l 常用于對出錯率要求極嚴(yán)的應(yīng)用場合,如財政、金融等領(lǐng)域。,RAID 2 (2級磁盤陣列) RAID 2又稱位交叉,采用漢明碼作盤錯檢

10、驗,無需在每個扇區(qū)之后進(jìn)行CRC(Cyclic Redundancy Check)檢驗。漢明碼是一種(n,k)線性分組碼,n為碼字的長度,k為數(shù)據(jù)的位數(shù),r為用于檢驗的位數(shù)。因此按位交叉存取最有利于作漢明碼檢驗。這種盤適于大數(shù)據(jù)的讀寫。但冗余信息開銷還是太大,阻止了這類盤的廣泛應(yīng)用。,RAID 3 (3級磁盤陣列) RAID 3為單盤容錯并行傳輸陣列盤。它的特點是將檢驗盤減小為一個(RAID 2校驗盤為多個,RAID l 檢驗盤為1比1),數(shù)據(jù)以位或字節(jié)的方式存于各盤。它的優(yōu)點是整個陣列的帶寬可以充分利用,傳輸時間減??;其缺點是每次讀寫要牽動整個組,每次只能完成一次I/O。,RAID 4 (4

11、級磁盤陣列) RAID 4是一種可獨立地對組內(nèi)各盤進(jìn)行讀寫的陣列。其校驗盤也只有一個。RAID 4和RAID 3的區(qū)別是:RAID 3是按位或按字節(jié)交叉存取,而RAID4是按塊(扇區(qū))存取,可以單獨地對某個盤進(jìn)行操作。不像RAID 3那樣,每一次小I/O操作也要涉及全組,RAID4只需涉及組中兩臺磁盤機(jī)(一臺數(shù)據(jù)盤,一臺檢驗盤)即可,從而提高了小量數(shù)據(jù)的I/O速率。,RAID 5 (5級磁盤陣列) RAID5是一種旋轉(zhuǎn)奇偶校驗獨立存取的陣列。它和RAID 1、2、3、4各磁盤陣列的不同點是它沒有固定的校驗盤,而是按某種規(guī)則把其冗余的奇偶校驗信息均勻地分布在陣列所屬的所有磁盤上,于是在同一臺磁盤機(jī)上既有數(shù)據(jù)信息也有校驗信息。這一改變解決了爭用校驗盤的問題,因此 DAID 5內(nèi)允許在同一組內(nèi)并發(fā)進(jìn)行多個寫操作。所以RAID5既適于大數(shù)據(jù)量的操作,也適于各種事務(wù)處理。它是一種快速、大容量和容錯分布合理的磁盤陣列。,注意: 工業(yè)上很少銷售RAID 2,4。這些級別的校驗信息的數(shù)學(xué)計算量太大而不實用。 對于RAID 3,校驗盤是一個單一故障點,如果它丟失,將是致命的。 RAID 5能夠在丟失單個

溫馨提示

  • 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

提交評論