




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術本章導讀:本章導讀:主講:武彤主講:武彤 電話:電話EmaiEmail:內容:內容: 介紹事務的基本概念,然后討論數據庫恢復的介紹事務的基本概念,然后討論數據庫恢復的概念和常用技術。概念和常用技術。要求:要求: 掌握事務的概念及特性,以及數據庫恢復的概掌握事務的概念及特性,以及數據庫恢復的概念。能夠區(qū)分故障的種類。理解常用的數據庫恢復念。能夠區(qū)分故障的種類。理解常用的數據庫恢復技術。技術。數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術9.19.1 事
2、務的基本概念事務的基本概念主講:武彤主講:武彤 電話:電話EmaiEmail:一、事務一、事務 事務是用戶定義的一個數據庫操作序列,這些事務是用戶定義的一個數據庫操作序列,這些操作要么全做要么全不做,是一個不可分割的工作操作要么全做要么全不做,是一個不可分割的工作單位。單位。 在關系數據庫中,一個事務可以是一條在關系數據庫中,一個事務可以是一條SQL語語句、一組句、一組SQL語句或整個程序。一個程序中包含多語句或整個程序。一個程序中包含多個事務。個事務。第九章第九章 數據庫恢復技術數據庫恢復技術數據庫系統(tǒng)原理數據庫系統(tǒng)原理9.19.1 事務的
3、基本概念事務的基本概念主講:武彤主講:武彤 電話:電話EmaiEmail: 對事務進行操作的語句:對事務進行操作的語句: 1 1)BEGIN TRANSACTIONBEGIN TRANSACTION 2 2)COMMITCOMMIT 3 3)ROLLBACKROLLBACK 事務的開始與結束可以由用戶顯式控制。如果事務的開始與結束可以由用戶顯式控制。如果用戶沒有顯式地定義事務,則由用戶沒有顯式地定義事務,則由DBMS DBMS 按缺省規(guī)定按缺省規(guī)定自動劃分事務。自動劃分事務。數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技
4、術9.19.1 事務的基本概念事務的基本概念主講:武彤主講:武彤 電話:電話EmaiEmail:二、事務的特性二、事務的特性1、原子性(、原子性(AtomicityAtomicity) 事務是數據庫的邏輯工作單位,事務中包括的事務是數據庫的邏輯工作單位,事務中包括的諸操作要么都做,要么都不做。諸操作要么都做,要么都不做。2、一致性(、一致性(ConsistencyConsistency) 事務執(zhí)行的結果必須是使數據庫從一個一致性事務執(zhí)行的結果必須是使數據庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。狀態(tài)變到另一個一致性狀態(tài)。 一致性與原子性是密切相
5、關的。(舉例說明)一致性與原子性是密切相關的。(舉例說明)數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術9.19.1 事務的基本概念事務的基本概念主講:武彤主講:武彤 電話:電話EmaiEmail:3、隔離性(、隔離性(IsolationIsolation) 一個事務的執(zhí)行不能被其他事務干擾。即一個一個事務的執(zhí)行不能被其他事務干擾。即一個事務內部的操作及使用的數據對其他并發(fā)事務是隔事務內部的操作及使用的數據對其他并發(fā)事務是隔離的,并發(fā)執(zhí)行的各個事務之間不能互相干擾。離的,并發(fā)執(zhí)行的各個事務之間不能互相干擾。4、持續(xù)性(
6、、持續(xù)性(DurabilityDurability) 指一個事務一旦提交,它對數據庫中數據的改指一個事務一旦提交,它對數據庫中數據的改變就應該是永久性的。接下來的其他操作或故障不變就應該是永久性的。接下來的其他操作或故障不應該對其執(zhí)行結果有任何影響。應該對其執(zhí)行結果有任何影響。數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術9.19.1 事務的基本概念事務的基本概念主講:武彤主講:武彤 電話:電話EmaiEmail: 保證事務保證事務ACID特性是事務管理的重要任務。特性是事務管理的重要任務。事務事務ACID特性可能遭到
7、破壞的因素有:特性可能遭到破壞的因素有: (1)多個事務并行運行時,不同事務的操作)多個事務并行運行時,不同事務的操作交叉執(zhí)行。交叉執(zhí)行。 (2)事務在運行過程中被強行停止。)事務在運行過程中被強行停止。數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術9.29.2 數據庫恢復概述數據庫恢復概述主講:武彤主講:武彤 電話:電話EmaiEmail: 數據庫管理系統(tǒng)具有把數據庫從錯誤狀態(tài)數據庫管理系統(tǒng)具有把數據庫從錯誤狀態(tài)恢復到某一已知的正確狀態(tài)(亦稱為一致狀態(tài)恢復到某一已知的正確狀態(tài)(亦稱為一致狀態(tài)或完整狀態(tài))的功能,這就是
8、數據庫的恢復?;蛲暾麪顟B(tài))的功能,這就是數據庫的恢復。數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術9.39.3 故障的種類故障的種類主講:武彤主講:武彤 電話:電話EmaiEmail:一、事務內部故障一、事務內部故障 事務故障是指事務在運行至正常終止點前被事務故障是指事務在運行至正常終止點前被終止,這時恢復子系統(tǒng)應利用日志文件撤銷(終止,這時恢復子系統(tǒng)應利用日志文件撤銷(U-U-NDONDO)此事務已對數據庫進行的修改。)此事務已對數據庫進行的修改。 事務故障事務故障的恢復是由系統(tǒng)自動完成的,對用戶是透明的。的恢復是
9、由系統(tǒng)自動完成的,對用戶是透明的。 例:銀行轉帳事務例:銀行轉帳事務(見(見P280)數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術9.39.3 故障的種類故障的種類主講:武彤主講:武彤 電話:電話EmaiEmail:二、系統(tǒng)故障二、系統(tǒng)故障 系統(tǒng)故障系統(tǒng)故障是指造成系統(tǒng)停止運轉的任何事件,是指造成系統(tǒng)停止運轉的任何事件,使得系統(tǒng)要重新啟動。通常,系統(tǒng)故障造成數據庫使得系統(tǒng)要重新啟動。通常,系統(tǒng)故障造成數據庫不一致狀態(tài)的原因有兩個,一是未完成事務對數據不一致狀態(tài)的原因有兩個,一是未完成事務對數據庫的更新可能已寫入數據庫
10、,二是已提交事務對數庫的更新可能已寫入數據庫,二是已提交事務對數據庫的更新可能還留在緩沖區(qū)沒來得及寫入數據庫。據庫的更新可能還留在緩沖區(qū)沒來得及寫入數據庫。因此恢復操作就是要撤銷故障發(fā)生時未完成的事務,因此恢復操作就是要撤銷故障發(fā)生時未完成的事務,重做已完成的事務。重做已完成的事務。數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術9.39.3 故障的種類故障的種類主講:武彤主講:武彤 電話:電話EmaiEmail:三、介質故障三、介質故障 介質故障也稱為硬故障,指外存故障,如磁介質故障也稱為硬故障,指外存故障,如磁盤損壞
11、、磁頭碰撞,瞬時強磁場干擾等盤損壞、磁頭碰撞,瞬時強磁場干擾等 。這類故。這類故障將破壞數據庫或部分數據庫障將破壞數據庫或部分數據庫 ,并影響正在存取,并影響正在存取這部分數據的所有事務。發(fā)生介質故障后這部分數據的所有事務。發(fā)生介質故障后 ,磁盤,磁盤上的物理數據和日志文件被破壞,上的物理數據和日志文件被破壞, 這是最嚴重的這是最嚴重的一種故障。一種故障。 四、計算機病毒四、計算機病毒 是一種人為的故障或破壞,是一些惡作劇者是一種人為的故障或破壞,是一些惡作劇者研制的一種計算機程序。研制的一種計算機程序。數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術9.49.4 恢復的
12、實現(xiàn)技術恢復的實現(xiàn)技術主講:武彤主講:武彤 電話:電話EmaiEmail: 恢復機制涉及的兩個關鍵問題是:第一,如恢復機制涉及的兩個關鍵問題是:第一,如何建立冗余數據;第二,如何利用這些冗余數據何建立冗余數據;第二,如何利用這些冗余數據實施數據庫恢復。實施數據庫恢復。 建立冗余數據最常用的技術就是數據轉儲和建立冗余數據最常用的技術就是數據轉儲和登記日志文件。通常在一個數據庫系統(tǒng)中,這兩登記日志文件。通常在一個數據庫系統(tǒng)中,這兩種方法是一起使用的。種方法是一起使用的。 數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術9.4
13、9.4 恢復的實現(xiàn)技術恢復的實現(xiàn)技術主講:武彤主講:武彤 電話:電話EmaiEmail:一、數據轉儲一、數據轉儲 所謂數據轉儲就所謂數據轉儲就DBA定期地將數據庫復制到磁定期地將數據庫復制到磁帶或另一個磁盤上保存起來的過程。帶或另一個磁盤上保存起來的過程。(見(見P282圖圖10.1) 根據轉儲狀態(tài)轉儲可分為:根據轉儲狀態(tài)轉儲可分為: 1)靜態(tài)轉儲)靜態(tài)轉儲 2)動態(tài)轉儲)動態(tài)轉儲 根據轉儲方式轉儲可分為:根據轉儲方式轉儲可分為: 1)海量轉儲)海量轉儲 2)增量轉儲)增量轉儲 (見(見P283表表10.1)數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章
14、第九章 數據庫恢復技術數據庫恢復技術9.49.4 恢復的實現(xiàn)技術恢復的實現(xiàn)技術主講:武彤主講:武彤 電話:電話EmaiEmail:二、登記日志文件二、登記日志文件1 1、日志文件的格式和內容、日志文件的格式和內容 日志文件主要有兩種格式:日志文件主要有兩種格式: * *以記錄為單位的日志文件;以記錄為單位的日志文件; * *以數據塊為單位的日志文件。以數據塊為單位的日志文件。 (1 1)以記錄為單位的日志文件的內容)以記錄為單位的日志文件的內容 各個事務的開始標記各個事務的開始標記 大的內容包括大的內容包括 各個事務的結束標記各個事務的結束標
15、記 各個事務的所有更新操作各個事務的所有更新操作數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術9.49.4 恢復的實現(xiàn)技術恢復的實現(xiàn)技術主講:武彤主講:武彤 電話:電話EmaiEmail: 每個日志記錄的內容:每個日志記錄的內容: *事務標識;事務標識; *操作的類型;操作的類型; *操作對象;操作對象; *更新前數據的舊值;更新前數據的舊值; *更新后數據的新值。更新后數據的新值。 (2)以數據塊為單位的日志文件的內容)以數據塊為單位的日志文件的內容 日志記錄的內容包括事務標識和被更新的數據塊。日志記錄的內容包括事務
16、標識和被更新的數據塊。數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術9.49.4 恢復的實現(xiàn)技術恢復的實現(xiàn)技術主講:武彤主講:武彤 電話:電話EmaiEmail:2 2、日志文件的作用、日志文件的作用 (1 1)事務故障恢復和系統(tǒng)故障恢復必須用日志)事務故障恢復和系統(tǒng)故障恢復必須用日志文件。文件。 (2 2)在動態(tài)轉儲方式中必須建立日志文件,后)在動態(tài)轉儲方式中必須建立日志文件,后備副本和日志文件結合起來才能有效地恢復數據庫。備副本和日志文件結合起來才能有效地恢復數據庫。 (3 3)在靜態(tài)轉儲方式中,也可以建立日志文件
17、。)在靜態(tài)轉儲方式中,也可以建立日志文件。(見(見P284P284圖圖10.210.2)3、登記日志文件、登記日志文件 登記日志文件必須遵循的原則:(見登記日志文件必須遵循的原則:(見P284)(1)登記的次序嚴格按并發(fā)事務執(zhí)行)登記的次序嚴格按并發(fā)事務執(zhí)行的時間次序;的時間次序;(2)必須先寫日志文件,后寫數據庫。)必須先寫日志文件,后寫數據庫。數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術9.59.5 恢復策略恢復策略主講:武彤主講:武彤 電話:電話EmaiEmail:1 1、事務故障的恢復、事務故障的恢復步驟:步
18、驟: 第一步:反向掃描日志文件,即從最后向前第一步:反向掃描日志文件,即從最后向前掃描,查找該事務的更新操作。掃描,查找該事務的更新操作。 第二步:對該事務的更新操作執(zhí)行逆操作。第二步:對該事務的更新操作執(zhí)行逆操作。 第三步:繼續(xù)反向掃描日志文件,查找該事第三步:繼續(xù)反向掃描日志文件,查找該事務的其他更新操作,并做同樣處理。務的其他更新操作,并做同樣處理。 第四步:如此處理下去,直至讀到此事務的開第四步:如此處理下去,直至讀到此事務的開始標記。始標記。 2 2、系統(tǒng)故障的恢復、系統(tǒng)故障的恢復步驟:步驟: 第一步:正向掃描日志文件,找出在故障發(fā)第一步:正向掃描日志文件,找出在故障發(fā)生前已經提交的
19、事務,將其事務標記記入重做(生前已經提交的事務,將其事務標記記入重做(REDOREDO)隊列。同時找出故障發(fā)生尚未完成的事務,)隊列。同時找出故障發(fā)生尚未完成的事務,將其事務標記記入撤銷(將其事務標記記入撤銷(UNDOUNDO)隊列。)隊列。 第二步:對撤銷隊列中的各個事務進行撤銷第二步:對撤銷隊列中的各個事務進行撤銷(UNDOUNDO)處理。)處理。 第三步:對重做隊列中的各個事務進行重做第三步:對重做隊列中的各個事務進行重做(REDOREDO)處理。)處理。 數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術9.59.5 恢復策略恢復策略主講:武彤主講:武彤 電話:電話
20、EmaiEmail:3 3、介質故障的恢復、介質故障的恢復步驟:步驟: 第一步:裝入最新的數據庫后備副本(離故第一步:裝入最新的數據庫后備副本(離故障發(fā)生時刻最近的轉儲副本),使數據庫恢復到障發(fā)生時刻最近的轉儲副本),使數據庫恢復到最近一次轉儲時的一致性狀態(tài)。對于動態(tài)轉儲的最近一次轉儲時的一致性狀態(tài)。對于動態(tài)轉儲的數據庫副本,還需同時裝入轉儲開始時刻的日志數據庫副本,還需同時裝入轉儲開始時刻的日志文件副本,利用恢復系統(tǒng)故障的方法(即文件副本,利用恢復系統(tǒng)故障的方法(即REDOREDO+UNDO+UNDO),才能將數據庫恢復到一致性狀態(tài)。),才
21、能將數據庫恢復到一致性狀態(tài)。 數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術9.59.5 恢復策略恢復策略主講:武彤主講:武彤 電話:電話EmaiEmail:數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術9.59.5 恢復策略恢復策略主講:武彤主講:武彤 電話:電話EmaiEmail: 第二步:裝入相應的日志文件副本(轉儲結束第二步:裝入相應的日志文件副本(轉儲結束時刻的日志文件副本),重做已完成的事務。即首時刻的日志文件副本),重做已完成的事
22、務。即首先掃描日志文件,找出故障發(fā)生時已提交的事務的先掃描日志文件,找出故障發(fā)生時已提交的事務的標識,將其記入重做隊列。然后正向掃描日志文件,標識,將其記入重做隊列。然后正向掃描日志文件,對重做隊列中的所有事務進行重做處理。即將日志對重做隊列中的所有事務進行重做處理。即將日志記錄中記錄中“更新后的值更新后的值”寫入數據庫。這樣就可以將寫入數據庫。這樣就可以將數據庫恢復至故障前某一時刻的一致狀態(tài)了。數據庫恢復至故障前某一時刻的一致狀態(tài)了。 數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術9.69.6 具有檢查點的恢復技術具有檢查點的恢復技術主講:武彤主講:武彤 電話:電話:
23EmaiEmail: 這種技術在日志文件中增加一類新的記錄這種技術在日志文件中增加一類新的記錄檢查點檢查點(checkpointcheckpoint)記錄,增加一個重新開始文)記錄,增加一個重新開始文件,并讓恢復子系統(tǒng)在登錄日志文件期間動態(tài)地件,并讓恢復子系統(tǒng)在登錄日志文件期間動態(tài)地維護日志。維護日志。 檢查點記錄的內容包括:檢查點記錄的內容包括: 建立檢查點時刻所有正在執(zhí)行的事務清單。建立檢查點時刻所有正在執(zhí)行的事務清單。 這些事務最近一個日志記錄的地址。這些事務最近一個日志記錄的地址。 重新開始文件用來記錄各個檢查點記錄在日重新開始文件用來
24、記錄各個檢查點記錄在日志文件中的地址。(見志文件中的地址。(見P287P287圖圖10.310.3) 數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術9.69.6 具有檢查點的恢復技術具有檢查點的恢復技術主講:武彤主講:武彤 電話:電話EmaiEmail: 動態(tài)維護日志文件的方法是周期性地執(zhí)行如下動態(tài)維護日志文件的方法是周期性地執(zhí)行如下操作:建立檢查點,保存數據庫狀態(tài)。具體步驟是:操作:建立檢查點,保存數據庫狀態(tài)。具體步驟是: 將當前日志緩沖中的所有日志記錄寫入磁將當前日志緩沖中的所有日志記錄寫入磁盤的日志文件上;盤的日
25、志文件上; 在日志文件中寫入一個檢查點記錄;在日志文件中寫入一個檢查點記錄; 將當前數據緩沖的所有數據記錄寫入磁盤將當前數據緩沖的所有數據記錄寫入磁盤的數據庫中;的數據庫中; 把檢查點記錄在日志文件中的地址寫入一把檢查點記錄在日志文件中的地址寫入一個重新開始文件。個重新開始文件。 數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術9.69.6 具有檢查點的恢復技術具有檢查點的恢復技術主講:武彤主講:武彤 電話:電話EmaiEmail: 系統(tǒng)出現(xiàn)故障時恢復子系統(tǒng)將根據事務的不系統(tǒng)出現(xiàn)故障時恢復子系統(tǒng)將根據事務的不同狀態(tài)采取不
26、同的恢復策略。如下圖:同狀態(tài)采取不同的恢復策略。如下圖: 時間Tc(檢查點)Tf(系統(tǒng)故障)T1 不要REDOT2 REDOT3撤銷T4REDO撤銷T5數據庫系統(tǒng)原理數據庫系統(tǒng)原理第九章第九章 數據庫恢復技術數據庫恢復技術9.69.6 具有檢查點的恢復技術具有檢查點的恢復技術主講:武彤主講:武彤 電話:電話EmaiEmail: 系統(tǒng)使用檢查點方法進行恢復的步驟:系統(tǒng)使用檢查點方法進行恢復的步驟: 1 1)從重新開始文件中找到最后一個檢查點記)從重新開始文件中找到最后一個檢查點記錄在日志文件中的地址,錄在日志文件中的地址, 由該地址在日志文件中由該地址在日志文件中找到最后一個檢查點記錄。找到最后一個檢查點記錄。 2 2)由該檢查點記錄得到檢查點建立時刻所有)由該檢查點記錄得到檢查點建立時刻所有正在執(zhí)行的事務清單正在執(zhí)行的事務清單 ACTIVE LISTACTIVE LIST。同時建立。同時建立UNDO-LISTUNDO-LIST和和REDO-LISTREDO-LIST。 3 3)從檢查點開始正向掃描日志文件。)從檢查點開始正向掃描日志文件。 4 4)對對UNDO-LISTUNDO-LIST中的每個事務執(zhí)行中的每個事務
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安徽省淮南市潘集區(qū)2024-2025學年九年級上學期期末化學試題(含答案)
- 清朝領導考試試題及答案
- 市場經濟學試題及答案
- 管理沙盤面試題及答案
- 2019-2025年軍隊文職人員招聘之軍隊文職管理學與服務提升訓練試卷A卷附答案
- 2019-2025年軍隊文職人員招聘之軍隊文職管理學題庫附答案(典型題)
- 煙草公司2025招聘考試全真模擬筆試試題(綜合能力測試卷)和答案解析
- 鼻飼操作及胃管誤入氣道案例分析培訓課件
- 房產稅務知識培訓課件
- 鉆石專業(yè)知識培訓課件
- 教科版科學五年級下冊《生物與環(huán)境》單元教材解讀及教學建議
- 11471勞動爭議處理(第9章)
- 兒科-補液-液體療法課件
- 口腔健康教育和促進
- 紀檢監(jiān)察線索處置與談話策略-課件
- 廣州市建設項目代建合同穗政合同示范文本004號
- 經濟效益證明(模板)
- 接力版六年級下冊小學英語 Lesson 4 Sally is going to Beijing. 第一課時 教案(教學設計)
- 食堂蔬菜品種及質量標準
- 《大數據分析與應用》教學大綱
- FZW2812F(FDR)型用戶分界真空負荷開關安裝使用說明書完
評論
0/150
提交評論