




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、少年辛苦終身益 莫向光陰惰寸功數 據 庫 原 理Theory of Database 第十章第十章 數據庫恢復技術數據庫恢復技術Theory of Database 3第十章 數據庫恢復技術10.1 事務的基本概念事務的基本概念10.2 數據庫恢復概述數據庫恢復概述10.3 故障的種類故障的種類10.4 恢復的實現技術恢復的實現技術10.5 恢復策略恢復策略10.6 具有檢查點的恢復技術具有檢查點的恢復技術10.7 數據庫鏡像數據庫鏡像10.8 小結小結Theory of Database 410.1 事務的基本概念事務事務(Transaction)u用戶定義的一個數據庫操作序列,是不可分割的
2、用戶定義的一個數據庫操作序列,是不可分割的 工作單位。工作單位。u恢復和并發控制的基本單位。恢復和并發控制的基本單位。事務和程序比較事務和程序比較u在關系數據庫中,一個事務可以是一條或多條在關系數據庫中,一個事務可以是一條或多條 SQL語句語句,也可以包含一個或多個程序。也可以包含一個或多個程序。u一個程序通常包含多個事務。一個程序通常包含多個事務。Theory of Database 5AB1萬元萬元10.1 事務的基本概念(續)事務事務(Transaction)例如:例如:銀行轉帳事務銀行轉帳事務T:從:從A帳戶帳戶轉帳轉帳1萬元到萬元到B帳戶中。帳戶中。T:read (A); A:=A-
3、1; write (A); read (B); B:=B+1; write (B);Theory of Database 6事務的特性事務的特性(ACID特性特性)10.1 事務的基本概念(續)原子性(原子性(Atomicity):最小的工作單位。):最小的工作單位。一致性(一致性(Consistency):一致性狀態間的轉換。):一致性狀態間的轉換。隔離性(隔離性(Isolation):事務間不能互相干擾。):事務間不能互相干擾。持續性(持續性(Durability ):對數據庫的改變是永久的。):對數據庫的改變是永久的。Theory of Database 7事務的狀態及其轉換事務的狀態及
4、其轉換活動活動狀態狀態部分提交部分提交狀態狀態失敗失敗狀態狀態提交提交狀態狀態異常提交異常提交狀態狀態10.1 事務的基本概念(續) 事務開始運行進入事務開始運行進入活動狀態活動狀態,事務執行完所有語句數據沒事務執行完所有語句數據沒有存入數據庫中或未執行完有存入數據庫中或未執行完所有語句稱為所有語句稱為部分提交狀態部分提交狀態;完成所有操作并永久影響數據庫,完成所有操作并永久影響數據庫,進入進入提交狀態提交狀態表示正常完成任務;表示正常完成任務;如果沒有正常完成任務最后如果沒有正常完成任務最后提交異常提交異常,結束事務。,結束事務。Theory of Database 8第十章 數據庫恢復技術
5、10.1 事務的基本概念事務的基本概念10.2 數據庫恢復概述數據庫恢復概述10.3 故障的種類故障的種類10.4 恢復的實現技術恢復的實現技術10.5 恢復策略恢復策略10.6 具有檢查點的恢復技術具有檢查點的恢復技術10.7 數據庫鏡像數據庫鏡像10.8 小結小結Theory of Database 910.2 數據庫恢復概述事務非正常中斷事務非正常中斷影響數據正確性影響數據正確性故障是不可避免的故障是不可避免的u人為故障:操作員的失誤、惡意的破壞等。人為故障:操作員的失誤、惡意的破壞等。數據庫的恢復數據庫的恢復u系統故障:計算機軟、硬件故障系統故障:計算機軟、硬件故障n把數據庫從錯誤狀態
6、恢復到某一已知的正確狀把數據庫從錯誤狀態恢復到某一已知的正確狀 態態(亦稱為一致狀態或完整狀態亦稱為一致狀態或完整狀態)。Theory of Database 10第十章 數據庫恢復技術10.1 事務的基本概念事務的基本概念10.2 數據庫恢復概述數據庫恢復概述10.3 故障的種類故障的種類10.4 恢復的實現技術恢復的實現技術10.5 恢復策略恢復策略10.6 具有檢查點的恢復技術具有檢查點的恢復技術10.7 數據庫鏡像數據庫鏡像10.8 小結小結Theory of Database 1110.3 故障的種類事務內部的故障事務內部的故障系統故障系統故障介質故障介質故障計算機病毒計算機病毒故障
7、故障Theory of Database 1210.3 故障的種類(續)事務內部的故障事務內部的故障有的是可以通過事務程序本身發現的有的是可以通過事務程序本身發現的Theory of Database 1310.3 故障的種類(續)例如,例如,銀行轉賬事務,把銀行轉賬事務,把1萬元從一個賬戶萬元從一個賬戶A轉給轉給 另一個賬戶另一個賬戶B。 BEGIN TRANSACTION read (A) ; A:=A10000; write (A); IF(A 0 ) THEN print (金額不足,不能轉賬金額不足,不能轉賬); ROLLBACK; %撤銷剛才的修改,恢復事務撤銷剛才的修改,恢復事務
8、 ELSE read (B); B:=B+10000; write (B); COMMIT; %正常提交,完成任務正常提交,完成任務 Theory of Database 1410.3 故障的種類(續)n事務內部更多的故障是非預期的,不能由應用程序處理。事務內部更多的故障是非預期的,不能由應用程序處理。例如:運算溢出,違反了某些完整性限制等。例如:運算溢出,違反了某些完整性限制等。n事務故障的恢復:事務故障的恢復:n事務故障的恢復操作:撤銷事務(事務故障的恢復操作:撤銷事務(UNDO)事務內部的故障事務內部的故障事務故障意味著事務沒有達到預期的終點,數據庫可能出于事務故障意味著事務沒有達到預期
9、的終點,數據庫可能出于 不正確狀態,因此,要在不影響其它事務運行的情況下,不正確狀態,因此,要在不影響其它事務運行的情況下, 強行回滾強行回滾(rollback) 該事務,即撤銷該事務已經做出的對該事務,即撤銷該事務已經做出的對 數據庫的修改,使得該事務好像根本沒有運行一樣。數據庫的修改,使得該事務好像根本沒有運行一樣。Theory of Database 1510.3 故障的種類(續)系統故障系統故障稱為軟故障,是指造成系統停止運轉的任何事件,稱為軟故障,是指造成系統停止運轉的任何事件,使得系統要重新啟動。使得系統要重新啟動。例如:突然斷電例如:突然斷電整個系統的正常運行突然被破壞整個系統的
10、正常運行突然被破壞所有正在運行的事務都非正常終止所有正在運行的事務都非正常終止不破壞數據庫不破壞數據庫數據庫緩沖區的信息全部丟失數據庫緩沖區的信息全部丟失Theory of Database 16常見原因:常見原因:10.3 故障的種類(續)特定類型的硬件錯誤(如特定類型的硬件錯誤(如CPU故障)故障)操作系統故障操作系統故障DBMS代碼錯誤代碼錯誤系統斷電系統斷電系統故障系統故障Theory of Database 17恢復恢復10.3 故障的種類(續)系統故障系統故障發生系統故障時,事務未完成發生系統故障時,事務未完成恢復策略:強行撤消(恢復策略:強行撤消(UNDO)所有未完成事務。)所有
11、未完成事務。發生系統故障時,事務已提交,但緩沖區中的信息發生系統故障時,事務已提交,但緩沖區中的信息 尚未完全寫回到磁盤上。尚未完全寫回到磁盤上。恢復策略:重做(恢復策略:重做(REDO)所有已提交的事務。)所有已提交的事務。Theory of Database 1810.3 故障的種類(續)稱為硬故障,指外存故障。稱為硬故障,指外存故障。介質故障介質故障磁盤損壞磁盤損壞磁頭碰撞磁頭碰撞操作系統的某種潛在錯誤操作系統的某種潛在錯誤瞬時強磁場干擾瞬時強磁場干擾這類故障會破壞數據庫或部分數據庫,這類故障會破壞數據庫或部分數據庫,并影響正在存取這部分數據的事務。并影響正在存取這部分數據的事務。這類故
12、障發生的可能性小,但是破壞性很大。這類故障發生的可能性小,但是破壞性很大。Theory of Database 19恢復恢復10.3 故障的種類(續)介質故障介質故障1、裝入數據庫發生介質故障前某個時刻的數據副本;裝入數據庫發生介質故障前某個時刻的數據副本;2、重做自此時始(副本備份時刻)的所有成功事務,、重做自此時始(副本備份時刻)的所有成功事務, 將這些事務已提交的結果重新記入數據庫。將這些事務已提交的結果重新記入數據庫。Theory of Database 2010.3 故障的種類(續)可以繁殖和傳播;可以繁殖和傳播;危害危害n破壞、盜竊系統中的數據破壞、盜竊系統中的數據n破壞系統文件破
13、壞系統文件應對策略:應對策略:n查殺病毒,注意系統安全性的保護,安裝防火墻和實時監控軟件。查殺病毒,注意系統安全性的保護,安裝防火墻和實時監控軟件。n根據數據備份文件和日志文件恢復數據庫。根據數據備份文件和日志文件恢復數據庫。計算機病毒計算機病毒一種人為的故障或破壞,是一些惡作劇者研制的一種一種人為的故障或破壞,是一些惡作劇者研制的一種計算機程序;計算機程序;Theory of Database 21故障小結故障小結10.3 故障的種類(續)各類故障,對數據庫的影響有兩種可能性:各類故障,對數據庫的影響有兩種可能性:一、是數據庫本身被破壞。一、是數據庫本身被破壞。二、是數據庫沒有被破壞,但數據
14、不正確,這是由于事二、是數據庫沒有被破壞,但數據不正確,這是由于事 務的運行被被正常終止造成的。務的運行被被正常終止造成的。Theory of Database 22第十章 數據庫恢復技術10.1 事務的基本概念事務的基本概念10.2 數據庫恢復概述數據庫恢復概述10.3 故障的種類故障的種類10.4 恢復的實現技術恢復的實現技術10.5 恢復策略恢復策略10.6 具有檢查點的恢復技術具有檢查點的恢復技術10.7 數據庫鏡像數據庫鏡像10.8 小結小結Theory of Database 2310.4 恢復的實現技術恢復操作的基本原理:冗余恢復操作的基本原理:冗余利用存儲在系統其它地方的冗余數
15、據來重建數據庫利用存儲在系統其它地方的冗余數據來重建數據庫中已被破壞或不正確的那部分數據。中已被破壞或不正確的那部分數據。恢復機制涉及的關鍵問題恢復機制涉及的關鍵問題u如何建立冗余數據如何建立冗余數據數據轉儲(數據轉儲(backup)登錄日志文件(登錄日志文件(logging)u如何利用這些冗余數據實施數據庫恢復如何利用這些冗余數據實施數據庫恢復Theory of Database 2410.4.1 數據轉儲數據轉儲10.4.2 登記日志文件登記日志文件10.4 恢復的實現技術Theory of Database 2510.4.1 數據轉儲一、什么是數據轉儲一、什么是數據轉儲二、轉儲方法二、轉
16、儲方法Theory of Database 26什么是數據轉儲什么是數據轉儲10.4.1 數據轉儲(續)轉儲是指轉儲是指DBA將整個數據庫復制到磁帶或將整個數據庫復制到磁帶或另一個磁盤上保存起來的過程,備用的數據另一個磁盤上保存起來的過程,備用的數據稱為后備副本或后援副本。稱為后備副本或后援副本。如何使用如何使用u數據庫遭到破壞后可以將后備副本重新裝入數據庫遭到破壞后可以將后備副本重新裝入u重裝后備副本只能將數據庫恢復到轉儲時的狀態重裝后備副本只能將數據庫恢復到轉儲時的狀態Theory of Database 27轉儲方法轉儲方法10.4.1 數據轉儲(續)1靜態轉儲與動態轉儲靜態轉儲與動態轉
17、儲2海量轉儲與增量轉儲海量轉儲與增量轉儲Theory of Database 28靜態轉儲靜態轉儲10.4.1 數據轉儲(續)l在系統中無運行事務時進行的轉儲操作在系統中無運行事務時進行的轉儲操作l轉儲開始時數據庫處于一致性狀態轉儲開始時數據庫處于一致性狀態l轉儲期間不允許對數據庫的任何存取、修改活動轉儲期間不允許對數據庫的任何存取、修改活動l得到的一定是一個數據一致性的副本得到的一定是一個數據一致性的副本優點:實現簡單優點:實現簡單缺點:降低了數據庫的可用性缺點:降低了數據庫的可用性p轉儲必須等待正運行的用戶事務結束轉儲必須等待正運行的用戶事務結束p新的事務必須等轉儲結束新的事務必須等轉儲結
18、束轉儲方法轉儲方法Theory of Database 2910.4.1 數據轉儲(續)n轉儲操作與用戶事務并發進行轉儲操作與用戶事務并發進行n轉儲期間允許對數據庫進行存取或修改轉儲期間允許對數據庫進行存取或修改n優點優點不用等待正在運行的用戶事務結束不用等待正在運行的用戶事務結束不會影響新事務的運行不會影響新事務的運行n缺點缺點不能保證副本中的數據正確有效不能保證副本中的數據正確有效動態轉儲動態轉儲轉儲方法轉儲方法Theory of Database 30例例 在轉儲期間的某個時刻在轉儲期間的某個時刻Tc,系統把數據,系統把數據A=100 轉儲到磁帶上,而在下一時刻轉儲到磁帶上,而在下一時刻
19、Td,某一事務將,某一事務將 A改為改為200。轉儲結束后,后備副本上的。轉儲結束后,后備副本上的A已是已是 過時的數據了。過時的數據了。動態轉儲動態轉儲轉儲方法轉儲方法10.4.1 數據轉儲(續)Theory of Database 3110.4.1 數據轉儲(續)利用動態轉儲得到的副本進行故障恢復利用動態轉儲得到的副本進行故障恢復需要把動態轉儲期間各事務對數據庫的修改活動需要把動態轉儲期間各事務對數據庫的修改活動 登記下來,建立日志文件;登記下來,建立日志文件;后備副本加上日志文件才能把數據庫恢復到某一后備副本加上日志文件才能把數據庫恢復到某一 時刻的正確狀態;時刻的正確狀態;動態轉儲動態
20、轉儲轉儲方法轉儲方法Theory of Database 32海量轉儲與增量轉儲海量轉儲與增量轉儲10.4.1 數據轉儲(續)海量轉儲海量轉儲: 每次轉儲全部數據庫每次轉儲全部數據庫增量轉儲增量轉儲: 只轉儲上次轉儲后更新過的數據只轉儲上次轉儲后更新過的數據二者比較二者比較從恢復角度看,使用海量轉儲得到的后備副本進行從恢復角度看,使用海量轉儲得到的后備副本進行 恢復往往更方便;恢復往往更方便;但如果數據庫很大,事務處理又十分頻繁,則增量但如果數據庫很大,事務處理又十分頻繁,則增量 轉儲方式更實用更有效;轉儲方式更實用更有效;轉儲方法轉儲方法Theory of Database 33轉儲方法小結
21、轉儲方法小結數據轉儲分類數據轉儲分類 轉儲狀態轉儲狀態動態轉儲動態轉儲靜態轉儲靜態轉儲轉儲轉儲方式方式海量轉儲海量轉儲動態海量轉儲動態海量轉儲靜態海量轉儲靜態海量轉儲增量轉儲增量轉儲動態增量轉儲動態增量轉儲靜態增量轉儲靜態增量轉儲10.4.1 數據轉儲(續)Theory of Database 3410.4 恢復的實現技術10.4.1 數據轉儲數據轉儲10.4.2 登記日志文件登記日志文件Theory of Database 3510.4.2 登記日志文件一、日志文件的格式和內容一、日志文件的格式和內容二、日志文件的作用二、日志文件的作用三、登記日志文件三、登記日志文件Theory of Da
22、tabase 36日志文件的格式和內容日志文件的格式和內容10.4.2 登記日志文件(續)什么是日志文件什么是日志文件日志文件日志文件(log)是用來記錄事務對數據庫的更新是用來記錄事務對數據庫的更新 操作的文件。操作的文件。日志文件的格式日志文件的格式以記錄為單位的日志文件以記錄為單位的日志文件以數據塊為單位的日志文件以數據塊為單位的日志文件Theory of Database 3710.4.2 登記日志文件(續)日志文件的格式和內容日志文件的格式和內容以記錄為單位的日志文件內容以記錄為單位的日志文件內容u各個事務的結束標記各個事務的結束標記(COMMIT或或ROLLBACK)u各個事務的所
23、有更新操作各個事務的所有更新操作以上各項都是日志文件中的一個日志記錄以上各項都是日志文件中的一個日志記錄 (log record)u各個事務的開始標記各個事務的開始標記(BEGIN TRANSACTION)Theory of Database 3810.4.2 登記日志文件(續)日志文件的格式和內容日志文件的格式和內容以記錄為單位的日志文件,每條日志記錄的內容以記錄為單位的日志文件,每條日志記錄的內容p事務標識(標明是哪個事務)事務標識(標明是哪個事務)p操作類型(插入、刪除或修改)操作類型(插入、刪除或修改)p操作對象(記錄內部標識)操作對象(記錄內部標識)p更新前數據的舊值(對插入操作而言
24、,此項為空值)更新前數據的舊值(對插入操作而言,此項為空值)p更新后數據的新值(對刪除操作而言更新后數據的新值(對刪除操作而言, 此項為空值)此項為空值)Theory of Database 3910.4.2 登記日志文件(續)日志文件的格式和內容日志文件的格式和內容以數據塊為單位的日志文件,每條日志記錄的內容以數據塊為單位的日志文件,每條日志記錄的內容l事務標識(標明是那個事務)事務標識(標明是那個事務)l被更新的數據塊(更新前和更新后)被更新的數據塊(更新前和更新后)Theory of Database 40日志文件的作用日志文件的作用10.4.2 登記日志文件(續)進行事務故障恢復進行事
25、務故障恢復進行系統故障恢復進行系統故障恢復協助后備副本進行介質故障恢復協助后備副本進行介質故障恢復Theory of Database 41利用靜態轉儲副本和日志文件進行恢復利用靜態轉儲副本和日志文件進行恢復 靜態靜態轉儲轉儲 運行事務運行事務 正常運行正常運行 Ta Ta Tb Tb Tf Tf 重裝后備副本重裝后備副本 利用日志文件恢復利用日志文件恢復 繼續運行繼續運行恢復恢復 登記日志文件登記日志文件10.4.2 登記日志文件(續)Theory of Database 4210.4.2 登記日志文件(續)基本原則基本原則u登記的次序嚴格按并行事務執行的時間次序。登記的次序嚴格按并行事務執
26、行的時間次序。u必須先寫日志文件,后寫數據庫。必須先寫日志文件,后寫數據庫。u寫日志文件操作:把表示這個修改的日志記錄寫日志文件操作:把表示這個修改的日志記錄 寫到日志文件。寫到日志文件。u寫數據庫操作:把對數據的修改寫到數據庫中。寫數據庫操作:把對數據的修改寫到數據庫中。登記日志文件登記日志文件Theory of Database 4310.4.2 登記日志文件(續)登記日志文件登記日志文件為什么要先寫日志文件為什么要先寫日志文件寫數據庫和寫日志文件是兩個不同的操作。寫數據庫和寫日志文件是兩個不同的操作。在這兩個操作之間可能發生故障。在這兩個操作之間可能發生故障。如果先寫了數據庫修改,而在日
27、志文件中沒有如果先寫了數據庫修改,而在日志文件中沒有 登記下這個修改,則以后就無法恢復這個修改了。登記下這個修改,則以后就無法恢復這個修改了。如果先寫日志,但沒有修改數據庫,按日志文件如果先寫日志,但沒有修改數據庫,按日志文件 恢復時只不過是多執行一次不必要的恢復時只不過是多執行一次不必要的UNDO操作,操作, 并不會影響數據庫的正確性。并不會影響數據庫的正確性。Theory of Database 44第十章 數據庫恢復技術10.1 事務的基本概念事務的基本概念10.2 數據庫恢復概述數據庫恢復概述10.3 故障的種類故障的種類10.4 恢復的實現技術恢復的實現技術10.5 恢復策略恢復策略
28、10.6 具有檢查點的恢復技術具有檢查點的恢復技術10.7 數據庫鏡像數據庫鏡像10.8 小結小結Theory of Database 4510.5 恢復策略10.5.1 事務故障的恢復事務故障的恢復10.5.2 系統故障的恢復系統故障的恢復10.5.3 介質故障的恢復介質故障的恢復Theory of Database 4610.5.1 事務故障的恢復事務故障:事務故障:事務在運行至正常終止點前被終止。事務在運行至正常終止點前被終止。恢復方法恢復方法由恢復子系統利用日志文件撤消(由恢復子系統利用日志文件撤消(UNDO)此事務已對)此事務已對數據庫進行的修改。數據庫進行的修改。事務故障的恢復由系
29、統自動完成,對用戶是透明的,事務故障的恢復由系統自動完成,對用戶是透明的,不需要用戶干預。不需要用戶干預。Theory of Database 47恢復步驟恢復步驟10.5.1 事務故障的恢復(續)1. 反向掃描文件日志(即從最后向前掃描日志文件),反向掃描文件日志(即從最后向前掃描日志文件), 查找該事務的更新操作。查找該事務的更新操作。2. 對該事務的更新操作執行逆操作。即將日志記錄中對該事務的更新操作執行逆操作。即將日志記錄中 “更新前的值更新前的值” 寫入數據庫。寫入數據庫。n若是修改操作,則相當于用修改前值代替修改后值若是修改操作,則相當于用修改前值代替修改后值n刪除操作,刪除操作,
30、“更新后的值更新后的值”為空,則相當于做插入操作為空,則相當于做插入操作n插入操作,插入操作, “更新前的值更新前的值”為空,則相當于做刪除操作為空,則相當于做刪除操作Theory of Database 4810.5.1 事務故障的恢復(續)恢復步驟恢復步驟3. 繼續反向掃描日志文件,查找該事務的其他更新操作,繼續反向掃描日志文件,查找該事務的其他更新操作, 并做同樣處理。并做同樣處理。4. 如此處理下去,直至讀到此事務的開始標記,事務故障如此處理下去,直至讀到此事務的開始標記,事務故障 恢復就完成了。恢復就完成了。Theory of Database 4910.5 恢復策略10.5.1 事
31、務故障的恢復事務故障的恢復10.5.2 系統故障的恢復系統故障的恢復10.5.3 介質故障的恢復介質故障的恢復Theory of Database 5010.5.2 系統故障的恢復系統故障造成數據庫不一致狀態的原因:系統故障造成數據庫不一致狀態的原因:未完成事務對數據庫的更新已寫入數據庫;未完成事務對數據庫的更新已寫入數據庫;已提交事務對數據庫的更新還留在緩沖區已提交事務對數據庫的更新還留在緩沖區 沒來得及寫入數據庫。沒來得及寫入數據庫。恢復方法恢復方法1. Undo 故障發生時未完成的事務故障發生時未完成的事務2. Redo 已完成的事務已完成的事務系統故障的恢復由系統在系統故障的恢復由系統
32、在重新啟動時重新啟動時自動完成,自動完成,不需要用戶干預。不需要用戶干預。Theory of Database 51恢復步驟:恢復步驟:10.5.2 系統故障的恢復(續)1.正向掃描日志文件(即從頭掃描日志文件)正向掃描日志文件(即從頭掃描日志文件)這些事務既有這些事務既有BEGIN TRANSACTION記錄,也有記錄,也有COMMIT記錄。記錄。這些事務只有這些事務只有BEGIN TRANSACTION記錄,無相應的記錄,無相應的COMMIT記錄。記錄。u撤銷撤銷 (Undo)隊列隊列:故障發生時尚未完成的事務故障發生時尚未完成的事務u重做重做(REDO) 隊列隊列: 在故障發生前已經提交
33、的事務在故障發生前已經提交的事務Theory of Database 5210.5.2 系統故障的恢復(續)恢復步驟:恢復步驟:2. 對撤銷對撤銷(Undo)隊列事務進行撤銷隊列事務進行撤銷(UNDO)處理處理3. 對重做對重做(Redo)隊列事務進行重做隊列事務進行重做(REDO)處理處理u正向掃描日志文件,對每個正向掃描日志文件,對每個REDO事務重新執行登記的操作。事務重新執行登記的操作。即將日志記錄中即將日志記錄中“更新后的值更新后的值”寫入數據庫。寫入數據庫。即將日志記錄中即將日志記錄中“更新前的值更新前的值”寫入數據庫。寫入數據庫。u反向掃描日志文件,對每個反向掃描日志文件,對每個
34、UNDO事務的更新操作執行逆操作。事務的更新操作執行逆操作。Theory of Database 5310.5 恢復策略10.5.1 事務故障的恢復事務故障的恢復10.5.2 系統故障的恢復系統故障的恢復10.5.3 介質故障的恢復介質故障的恢復Theory of Database 5410.5.3 介質故障的恢復1.重裝數據庫重裝數據庫2.重做已完成的事務重做已完成的事務Theory of Database 5510.5.3 介質故障的恢復(續)恢復步驟:恢復步驟:裝入最新的后備數據庫副本裝入最新的后備數據庫副本(離故障發生時刻最近的離故障發生時刻最近的轉儲副本轉儲副本) ,使數據庫恢復到最
35、近一次轉儲時的,使數據庫恢復到最近一次轉儲時的一致性狀態。一致性狀態。u對于靜態轉儲的數據庫副本,裝入后數據庫即處于對于靜態轉儲的數據庫副本,裝入后數據庫即處于 一致性狀態;一致性狀態;u對于動態轉儲的數據庫副本,還須同時裝入轉儲時刻對于動態轉儲的數據庫副本,還須同時裝入轉儲時刻 的日志文件副本,利用與恢復系統故障的方法的日志文件副本,利用與恢復系統故障的方法 (即(即EDO+UNDO),才能將數據庫恢復到一致性狀態。),才能將數據庫恢復到一致性狀態。Theory of Database 5610.5.3 介質故障的恢復(續)裝入有關的日志文件副本裝入有關的日志文件副本(轉儲結束時刻的日志文件
36、副本轉儲結束時刻的日志文件副本) ,重做已完成的事務。重做已完成的事務。n首先掃描日志文件,找出故障發生時已提交的事務的首先掃描日志文件,找出故障發生時已提交的事務的 標識,將其記入重做隊列。標識,將其記入重做隊列。n然后正向掃描日志文件,對重做隊列中的所有事務進然后正向掃描日志文件,對重做隊列中的所有事務進 行重做處理。即將日志記錄中行重做處理。即將日志記錄中“更新后的值更新后的值”寫入數據庫。寫入數據庫。 恢復步驟:恢復步驟:Theory of Database 5710.5.3 介質故障的恢復(續)介質故障的恢復需要介質故障的恢復需要DBADBA介入介入DBA的工作的工作重裝最近轉儲的數
37、據庫副本和有關的各日志文件副本重裝最近轉儲的數據庫副本和有關的各日志文件副本執行系統提供的恢復命令執行系統提供的恢復命令具體的恢復操作仍由具體的恢復操作仍由DBMS完成完成Theory of Database 58第十章 數據庫恢復技術10.1 事務的基本概念事務的基本概念10.2 數據庫恢復概述數據庫恢復概述10.3 故障的種類故障的種類10.4 恢復的實現技術恢復的實現技術10.5 恢復策略恢復策略10.6 具有檢查點的恢復技術具有檢查點的恢復技術10.7 數據庫鏡像數據庫鏡像10.8 小結小結Theory of Database 5910.6 具有檢查點的恢復技術一、問題的提出一、問題的
38、提出二、檢查點技術二、檢查點技術三、利用檢查點的恢復策略三、利用檢查點的恢復策略Theory of Database 60問題的提出問題的提出10.6 具有檢查點的恢復技術(續)搜索整個日志將耗費大量的時間搜索整個日志將耗費大量的時間REDO處理:重新執行,浪費了大量時間處理:重新執行,浪費了大量時間兩個問題兩個問題Theory of Database 61解決方案解決方案10.6 具有檢查點的恢復技術(續)具有檢查點(具有檢查點(checkpoint)的恢復技術)的恢復技術p在日志文件中增加檢查點記錄(在日志文件中增加檢查點記錄(checkpoint)p增加重新開始文件增加重新開始文件p恢復
39、子系統在登錄日志文件期間動態地維護日志恢復子系統在登錄日志文件期間動態地維護日志問題的提出問題的提出Theory of Database 62檢查點技術檢查點技術10.6 具有檢查點的恢復技術(續)檢查點記錄的內容檢查點記錄的內容l建立檢查點時刻所有正在執行的事務清單建立檢查點時刻所有正在執行的事務清單l這些事務最近一個日志記錄的地址這些事務最近一個日志記錄的地址重新開始文件的內容重新開始文件的內容l記錄各個檢查點記錄在日志文件中的地址記錄各個檢查點記錄在日志文件中的地址63具有檢查點的日志文件和重新開始文件具有檢查點的日志文件和重新開始文件 12310.6 具有檢查點的恢復技術(續)檢查點技
40、術檢查點技術Theory of Database 6410.6 具有檢查點的恢復技術(續)動態維護日志文件的方法動態維護日志文件的方法周期性地執行如下操作:建立檢查點,保存數據庫狀態。周期性地執行如下操作:建立檢查點,保存數據庫狀態。具體步驟是:具體步驟是:1.將當前日志緩沖區中的所有日志記錄寫入磁盤的日志文件上將當前日志緩沖區中的所有日志記錄寫入磁盤的日志文件上;2.在日志文件中寫入一個檢查點記錄在日志文件中寫入一個檢查點記錄;3.將當前數據緩沖區的所有數據記錄寫入磁盤的數據庫中將當前數據緩沖區的所有數據記錄寫入磁盤的數據庫中;4.把檢查點記錄在日志文件中的地址寫入一個重新開始文件。把檢查點
41、記錄在日志文件中的地址寫入一個重新開始文件。檢查點技術檢查點技術Theory of Database 6510.6 具有檢查點的恢復技術(續)恢復子系統可以定期或不定期地建立檢查點恢復子系統可以定期或不定期地建立檢查點,保存數據庫狀態。保存數據庫狀態。定期定期l按照預定的一個時間間隔,如每隔一小時建立一個檢查點。按照預定的一個時間間隔,如每隔一小時建立一個檢查點。不定期不定期l按照某種規則,如日志文件已寫滿一半建立一個檢查點。按照某種規則,如日志文件已寫滿一半建立一個檢查點。檢查點技術檢查點技術Theory of Database 66利用檢查點的恢復策略利用檢查點的恢復策略10.6 具有檢查
42、點的恢復技術(續)使用檢查點方法可以改善恢復效率。使用檢查點方法可以改善恢復效率。p當事務當事務T在一個檢查點之前提交,在一個檢查點之前提交,T對數據庫所做的修對數據庫所做的修 改已寫入數據庫,寫入時間是在這個檢查點建立之前改已寫入數據庫,寫入時間是在這個檢查點建立之前 或在這個檢查點建立之時。這樣,在進行恢復處理或在這個檢查點建立之時。這樣,在進行恢復處理 時,沒有必要對事務時,沒有必要對事務T執行執行REDO操作。操作。67Tc (檢查點檢查點)Tf(系統故障系統故障) REDOUNDOUNDO REDOT2T3T4T5不要不要REDOT1系統出現故障時,恢復子系統將根據事務的不同狀態采取
43、系統出現故障時,恢復子系統將根據事務的不同狀態采取不同的恢復略。不同的恢復略。 10.6 具有檢查點的恢復技術(續)6810.6 具有檢查點的恢復技術(續)故障故障 重新開始文件重新開始文件 日志文件日志文件檢查點地址檢查點地址T1,T2,T3,T4,T5T6開始標記開始標記T2結束標記結束標記T7開始標記開始標記T7結束標記結束標記T1結束標記結束標記故障故障UNDO隊列隊列REDO隊列隊列利用檢查點的恢復步驟:利用檢查點的恢復步驟:Theory of Database 69第十章 數據庫恢復技術10.1 事務的基本概念事務的基本概念10.2 數據庫恢復概述數據庫恢復概述10.3 故障的種類
44、故障的種類10.4 恢復的實現技術恢復的實現技術10.5 恢復策略恢復策略10.6 具有檢查點的恢復技術具有檢查點的恢復技術10.7 數據庫鏡像數據庫鏡像10.8 小結小結Theory of Database 7010.7 數據庫鏡像介質故障介質故障是對系統影響最為嚴重的一種故障,是對系統影響最為嚴重的一種故障,嚴重影響數據庫的可用性。嚴重影響數據庫的可用性。u介質故障恢復比較費時;介質故障恢復比較費時;u為預防介質故障,為預防介質故障,DBA必須周期性地轉儲數據庫。必須周期性地轉儲數據庫。提高數據庫可用性的解決方案提高數據庫可用性的解決方案u數據庫鏡像(數據庫鏡像(Mirror)7110.7 數據庫鏡像(續)數據庫鏡像數據庫鏡像DBMS自動把整個數據庫或其中的關鍵數據復制到自動把整個數據庫或其中的關鍵數據復制到 另一個磁盤上。另一個磁盤上。DBMS自動保證鏡像數據與主數據庫的一致性。自動保證鏡像數據與主數據庫的一致性。 每當主數據
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 供應混凝土結算合同樣本
- 2025年西寧城市職業技術學院單招職業傾向性考試題庫及參考答案
- 寫室內裝修合同樣本
- 2008合同標準文本格式
- 2025年西南財經大學天府學院單招職業技能測試題庫及答案一套
- 透析園藝師考試知識網試題及答案
- 2025年襄陽科技職業學院單招職業技能考試題庫審定版
- 供貨經銷合同樣本
- 經理面試題目及答案大全
- 2025年西安明德理工學院單招綜合素質考試題庫1套
- 海底撈銷售凈利率分析報告
- 佛教協會學習管理制度
- 2023年司法鑒定科學研究院事業編制招聘14人筆試參考題庫(共500題)答案詳解版
- 《爺爺的爺爺哪里來》共讀指導設計
- 個人業績相關信息采集表
- 宣傳片專題片視頻拍攝方案(技術方案)
- 水準測量平差表(含公式可自動計算)
- 機電安裝工程危險源識別評價清單1-發網上
- 腫瘤療效評估新標準-mRECIST標準
- 全國普通高等學校招生統一考試(上海卷)考試手冊
- 260噸汽車吊地基承載力驗算
評論
0/150
提交評論