版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 2011 by1華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.1 事務(wù)的基本概念事務(wù)的基本概念 10.2 數(shù)據(jù)庫恢復(fù)概述數(shù)據(jù)庫恢復(fù)概述 10.3 故障的種類故障的種類 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 10.5 恢復(fù)策略恢復(fù)策略 10.6 具有檢查點(diǎn)的恢復(fù)技術(shù)具有檢查點(diǎn)的恢復(fù)技術(shù) 10.7 數(shù)據(jù)庫鏡像數(shù)據(jù)庫鏡像 10.8 SQL Server的恢復(fù)技術(shù)的恢復(fù)技術(shù) 10.9 小結(jié)小結(jié) 第第10章章 數(shù)據(jù)庫恢復(fù)技術(shù)數(shù)據(jù)庫恢復(fù)技術(shù) 2011 by2華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 一、什么是事務(wù)一、什么是事務(wù) 事務(wù)事務(wù)(Transaction)是用戶定義的一個獨(dú)立邏輯是
2、用戶定義的一個獨(dú)立邏輯 工作單位的數(shù)據(jù)庫操作序列,這些操作要么工作單位的數(shù)據(jù)庫操作序列,這些操作要么 全做,要么全不做,是一個不可分割的工作全做,要么全不做,是一個不可分割的工作 單位單位 事務(wù)和程序是兩個概念事務(wù)和程序是兩個概念 在關(guān)系數(shù)據(jù)庫中,一個事務(wù)可以是一條在關(guān)系數(shù)據(jù)庫中,一個事務(wù)可以是一條SQL語句,語句, 一組一組SQL語句或整個程序語句或整個程序 一個應(yīng)用程序通常包含多個事務(wù)一個應(yīng)用程序通常包含多個事務(wù) 事務(wù)是恢復(fù)和并發(fā)控制的基本單位事務(wù)是恢復(fù)和并發(fā)控制的基本單位 10.1 事務(wù)的基本概念事務(wù)的基本概念 2011 by3華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 二、如何定義
3、事務(wù)二、如何定義事務(wù) 顯式定義方式顯式定義方式 BEGIN TRANSACTION BEGIN TRANSACTION SQL 語句語句1 SQL 語句語句1 SQL 語句語句2 SQL 語句語句2 COMMIT ROLLBACK 隱式方式隱式方式 當(dāng)用戶沒有顯式地定義事務(wù)時,當(dāng)用戶沒有顯式地定義事務(wù)時, DBMS按缺省規(guī)定自動劃分事務(wù)按缺省規(guī)定自動劃分事務(wù) 10.1 事務(wù)的基本概念事務(wù)的基本概念 2011 by4華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 事務(wù)的結(jié)束事務(wù)的結(jié)束 COMMIT 事務(wù)正常結(jié)束事務(wù)正常結(jié)束 提交事務(wù)的所有操作(讀提交事務(wù)的所有操作(讀+更新)更新) 事務(wù)中所有對
4、數(shù)據(jù)庫的更新永久生效事務(wù)中所有對數(shù)據(jù)庫的更新永久生效 ROLLBACK 事務(wù)異常終止事務(wù)異常終止 事務(wù)運(yùn)行的過程中發(fā)生了故障,不能繼續(xù)執(zhí)行事務(wù)運(yùn)行的過程中發(fā)生了故障,不能繼續(xù)執(zhí)行 回滾事務(wù)的所有更新操作回滾事務(wù)的所有更新操作 事務(wù)滾回到開始時的狀態(tài)事務(wù)滾回到開始時的狀態(tài) 10.1 事務(wù)的基本概念事務(wù)的基本概念 2011 by5華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 三、事務(wù)的特性三、事務(wù)的特性(ACID特性特性) 事務(wù)的事務(wù)的ACID特性:特性: 原子性(原子性(Atomicity) 一致性(一致性(Consistency) 隔離性(隔離性(Isolation) 持續(xù)性(持續(xù)性(Dur
5、ability ) 10.1 事務(wù)的基本概念事務(wù)的基本概念 2011 by6華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 1. 原子性原子性 事務(wù)是不可分割的邏輯工作單位事務(wù)是不可分割的邏輯工作單位 事務(wù)中包括的諸操作要么都做,要么都不做事務(wù)中包括的諸操作要么都做,要么都不做 10.1 事務(wù)的基本概念事務(wù)的基本概念 2011 by7華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 2. 一致性一致性 事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個一致性狀事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個一致性狀 態(tài)變到另一個一致性狀態(tài)態(tài)變到另一個一致性狀態(tài) 一致性狀態(tài):一致性狀態(tài): 數(shù)據(jù)庫中只包含成功事務(wù)提交的結(jié)果數(shù)據(jù)庫
6、中只包含成功事務(wù)提交的結(jié)果 不一致狀態(tài):不一致狀態(tài): 數(shù)據(jù)庫中包含失敗事務(wù)的結(jié)果數(shù)據(jù)庫中包含失敗事務(wù)的結(jié)果 10.1 事務(wù)的基本概念事務(wù)的基本概念 2011 by8華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 例:銀行轉(zhuǎn)帳事務(wù)例:銀行轉(zhuǎn)帳事務(wù) 從帳戶從帳戶A取出取出X元,存入帳戶元,存入帳戶B 定義一個事務(wù)定義一個事務(wù): Update 存款存款 set 金額金額 = 金額金額 X where 帳戶帳戶 = A Update 存款存款 set 金額金額 = 金額金額 + X where 帳戶帳戶= B 這兩個操作要么全做,要么全不做這兩個操作要么全做,要么全不做 全做或者全不做,數(shù)據(jù)庫都處于一
7、致性狀態(tài)全做或者全不做,數(shù)據(jù)庫都處于一致性狀態(tài) 如果只做一個操作,數(shù)據(jù)庫就處于不一致性狀如果只做一個操作,數(shù)據(jù)庫就處于不一致性狀 態(tài)態(tài) 10.1 事務(wù)的基本概念事務(wù)的基本概念 2011 by9華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 3. 隔離性隔離性 對并發(fā)執(zhí)行而言一個事務(wù)的執(zhí)行不能被其他事務(wù)干擾對并發(fā)執(zhí)行而言一個事務(wù)的執(zhí)行不能被其他事務(wù)干擾 一個事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對其他并發(fā)事務(wù)一個事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對其他并發(fā)事務(wù) 是隔離的是隔離的 并發(fā)執(zhí)行的各個事務(wù)之間不能互相干擾并發(fā)執(zhí)行的各個事務(wù)之間不能互相干擾 10.1 事務(wù)的基本概念事務(wù)的基本概念 2011 by10華中科技大
8、學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 下列兩個并發(fā)執(zhí)行的事務(wù)下列兩個并發(fā)執(zhí)行的事務(wù)T1和和T2,如按表中所示順,如按表中所示順 序執(zhí)行,則事務(wù)序執(zhí)行,則事務(wù)T1的修改被的修改被T2覆蓋了,即覆蓋了,即T2干撓了干撓了 T1。違背了事務(wù)的隔離性,是錯誤的調(diào)度。違背了事務(wù)的隔離性,是錯誤的調(diào)度。 10.1 事務(wù)的基本概念事務(wù)的基本概念 事務(wù)事務(wù)T1 (1) 讀讀A=16 (2) (3) A=A-1,寫回寫回A=15 (4) 事務(wù)事務(wù)T2 讀讀A=16 A=A-3,寫回寫回A=13 2011 by11華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 4. 持久性持久性 持續(xù)性也稱永久性(持續(xù)性也稱永久
9、性(Permanence) 一個事務(wù)一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就一個事務(wù)一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就 應(yīng)該是永久性的。應(yīng)該是永久性的。 接下來的其他操作或故障不應(yīng)該對其執(zhí)行結(jié)果有接下來的其他操作或故障不應(yīng)該對其執(zhí)行結(jié)果有 任何影響。任何影響。 10.1 事務(wù)的基本概念事務(wù)的基本概念 2011 by12華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 保證事務(wù)保證事務(wù)ACID特性是事務(wù)處理的任務(wù)特性是事務(wù)處理的任務(wù) 破壞事務(wù)破壞事務(wù)ACID特性的因素特性的因素 事務(wù)在運(yùn)行過程中被強(qiáng)行停止事務(wù)在運(yùn)行過程中被強(qiáng)行停止 多個事務(wù)并行運(yùn)行時,不同事務(wù)的操多個事務(wù)并行運(yùn)行時,不同事務(wù)的操 作交叉
10、執(zhí)行作交叉執(zhí)行 DBMS的恢復(fù)機(jī)制和并發(fā)控制機(jī)制來保證的恢復(fù)機(jī)制和并發(fā)控制機(jī)制來保證 10.1 事務(wù)的基本概念事務(wù)的基本概念 2011 by13華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.1 事務(wù)的基本概念事務(wù)的基本概念 10.2 數(shù)據(jù)庫恢復(fù)概述數(shù)據(jù)庫恢復(fù)概述 10.3 故障的種類故障的種類 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 10.5 恢復(fù)策略恢復(fù)策略 10.6 具有檢查點(diǎn)的恢復(fù)技術(shù)具有檢查點(diǎn)的恢復(fù)技術(shù) 10.7 數(shù)據(jù)庫鏡像數(shù)據(jù)庫鏡像 10.8 SQL Server的恢復(fù)技術(shù)的恢復(fù)技術(shù) 10.9 小結(jié)小結(jié) 第第10章章 數(shù)據(jù)庫恢復(fù)技術(shù)數(shù)據(jù)庫恢復(fù)技術(shù) 2011 by14華中科技大
11、學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) DB恢復(fù):將因破壞或故障而導(dǎo)致的恢復(fù):將因破壞或故障而導(dǎo)致的DB數(shù)據(jù)的錯數(shù)據(jù)的錯 誤狀態(tài)恢復(fù)到最近一個正確狀態(tài)的技術(shù)。誤狀態(tài)恢復(fù)到最近一個正確狀態(tài)的技術(shù)。 目標(biāo)目標(biāo) 1、保持事務(wù)原子性;、保持事務(wù)原子性; 2、保持事務(wù)持久性。、保持事務(wù)持久性。 實現(xiàn)實現(xiàn) 由由DBMS專門的恢復(fù)子系統(tǒng)完成。專門的恢復(fù)子系統(tǒng)完成。 10.2 數(shù)據(jù)庫恢復(fù)概述數(shù)據(jù)庫恢復(fù)概述 2011 by15華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 故障是不可避免的故障是不可避免的 計算機(jī)硬件故障計算機(jī)硬件故障 系統(tǒng)軟件和應(yīng)用軟件的錯誤系統(tǒng)軟件和應(yīng)用軟件的錯誤 操作員的失誤操作員的失誤 惡
12、意的破壞惡意的破壞 故障的影響故障的影響 運(yùn)行事務(wù)非正常中斷運(yùn)行事務(wù)非正常中斷 破壞數(shù)據(jù)庫破壞數(shù)據(jù)庫 10.2 數(shù)據(jù)庫恢復(fù)概述數(shù)據(jù)庫恢復(fù)概述 2011 by16華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 數(shù)據(jù)庫管理系統(tǒng)對故障的對策數(shù)據(jù)庫管理系統(tǒng)對故障的對策 DBMS提供恢復(fù)子系統(tǒng)提供恢復(fù)子系統(tǒng) 保證故障發(fā)生后,能把數(shù)據(jù)庫中的數(shù)據(jù)從錯保證故障發(fā)生后,能把數(shù)據(jù)庫中的數(shù)據(jù)從錯 誤狀態(tài)恢復(fù)到某種邏輯一致的狀態(tài)誤狀態(tài)恢復(fù)到某種邏輯一致的狀態(tài) 保證事務(wù)保證事務(wù)ACID 恢復(fù)技術(shù)是衡量系統(tǒng)優(yōu)劣的重要指標(biāo)恢復(fù)技術(shù)是衡量系統(tǒng)優(yōu)劣的重要指標(biāo) 10.2 數(shù)據(jù)庫恢復(fù)概述數(shù)據(jù)庫恢復(fù)概述 2011 by17華中科技大
13、學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.1 事務(wù)的基本概念事務(wù)的基本概念 10.2 數(shù)據(jù)庫恢復(fù)概述數(shù)據(jù)庫恢復(fù)概述 10.3 故障的種類故障的種類 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 10.5 恢復(fù)策略恢復(fù)策略 10.6 具有檢查點(diǎn)的恢復(fù)技術(shù)具有檢查點(diǎn)的恢復(fù)技術(shù) 10.7 數(shù)據(jù)庫鏡像數(shù)據(jù)庫鏡像 10.8 SQL Server的恢復(fù)技術(shù)的恢復(fù)技術(shù) 10.9 小結(jié)小結(jié) 第第10章章 數(shù)據(jù)庫恢復(fù)技術(shù)數(shù)據(jù)庫恢復(fù)技術(shù) 2011 by18華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 事務(wù)故障事務(wù)故障 系統(tǒng)故障系統(tǒng)故障 介質(zhì)故障介質(zhì)故障 計算機(jī)病毒計算機(jī)病毒 10.3 故障的種類故障的種類 2011
14、 by19華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 一、事務(wù)故障一、事務(wù)故障 什么是事務(wù)故障什么是事務(wù)故障 某個事務(wù)在運(yùn)行過程中由于種種原因未運(yùn)行至正某個事務(wù)在運(yùn)行過程中由于種種原因未運(yùn)行至正 常終止點(diǎn)就夭折了常終止點(diǎn)就夭折了 事務(wù)故障的常見原因事務(wù)故障的常見原因 輸入數(shù)據(jù)有誤輸入數(shù)據(jù)有誤 運(yùn)算溢出運(yùn)算溢出 違反了某些完整性限制違反了某些完整性限制 某些應(yīng)用程序出錯某些應(yīng)用程序出錯 并行事務(wù)因發(fā)生死鎖而被選中并行事務(wù)因發(fā)生死鎖而被選中“犧牲犧牲” 10.3 故障的種類故障的種類 2011 by20華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 事務(wù)故障的恢復(fù)事務(wù)故障的恢復(fù) 發(fā)生事務(wù)故障時
15、,夭折的事務(wù)可能已把對數(shù)據(jù)庫發(fā)生事務(wù)故障時,夭折的事務(wù)可能已把對數(shù)據(jù)庫 的部分修改寫回磁盤的部分修改寫回磁盤 事務(wù)故障的恢復(fù):撤消事務(wù)(事務(wù)故障的恢復(fù):撤消事務(wù)(UNDO) 強(qiáng)行回滾(強(qiáng)行回滾(ROLLBACK)該事務(wù))該事務(wù) 清除該事務(wù)對數(shù)據(jù)庫的所有修改,使得這個事務(wù)清除該事務(wù)對數(shù)據(jù)庫的所有修改,使得這個事務(wù) 象根本沒有啟動過一樣象根本沒有啟動過一樣 10.3 故障的種類故障的種類 2011 by21華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 二、系統(tǒng)故障二、系統(tǒng)故障 什么是系統(tǒng)故障什么是系統(tǒng)故障 整個系統(tǒng)的正常運(yùn)行突然被破壞整個系統(tǒng)的正常運(yùn)行突然被破壞 所有正在運(yùn)行的事務(wù)都非正常終止所
16、有正在運(yùn)行的事務(wù)都非正常終止 內(nèi)存中數(shù)據(jù)庫緩沖區(qū)的信息全部丟失內(nèi)存中數(shù)據(jù)庫緩沖區(qū)的信息全部丟失 外部存儲設(shè)備上的數(shù)據(jù)未受影響外部存儲設(shè)備上的數(shù)據(jù)未受影響 10.3 故障的種類故障的種類 2011 by22華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 系統(tǒng)故障的恢復(fù)系統(tǒng)故障的恢復(fù) 清除尚未完成的事務(wù)對數(shù)據(jù)庫的所有修改清除尚未完成的事務(wù)對數(shù)據(jù)庫的所有修改 系統(tǒng)重新啟動時,恢復(fù)程序要強(qiáng)行撤消(系統(tǒng)重新啟動時,恢復(fù)程序要強(qiáng)行撤消(UNDO) 所有未完成事務(wù)所有未完成事務(wù) 將緩沖區(qū)中已完成事務(wù)提交的結(jié)果寫入數(shù)據(jù)庫將緩沖區(qū)中已完成事務(wù)提交的結(jié)果寫入數(shù)據(jù)庫 系統(tǒng)重新啟動時,恢復(fù)程序需要重做(系統(tǒng)重新啟動時
17、,恢復(fù)程序需要重做(REDO) 所有已提交的事務(wù)所有已提交的事務(wù) 10.3 故障的種類故障的種類 2011 by23華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 三、介質(zhì)故障三、介質(zhì)故障 硬件故障使存儲在外存中的數(shù)據(jù)部分丟失硬件故障使存儲在外存中的數(shù)據(jù)部分丟失 或全部丟失或全部丟失 介質(zhì)故障比前兩類故障的可能性小得多,介質(zhì)故障比前兩類故障的可能性小得多, 但破壞性大得多但破壞性大得多 10.3 故障的種類故障的種類 2011 by24華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 介質(zhì)故障的恢復(fù)介質(zhì)故障的恢復(fù) 裝入數(shù)據(jù)庫發(fā)生介質(zhì)故障前某個時刻的數(shù)據(jù)裝入數(shù)據(jù)庫發(fā)生介質(zhì)故障前某個時刻的數(shù)據(jù) 副本
18、副本 重做自此時始的所有成功事務(wù),將這些事務(wù)重做自此時始的所有成功事務(wù),將這些事務(wù) 已提交的結(jié)果重新記入數(shù)據(jù)庫已提交的結(jié)果重新記入數(shù)據(jù)庫 10.3 故障的種類故障的種類 2011 by25華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 恢復(fù)操作的基本原理:冗余恢復(fù)操作的基本原理:冗余 利用存儲在系統(tǒng)其它地方的冗余數(shù)據(jù)來重利用存儲在系統(tǒng)其它地方的冗余數(shù)據(jù)來重 建數(shù)據(jù)庫中已被破壞或不正確的那部分?jǐn)?shù)建數(shù)據(jù)庫中已被破壞或不正確的那部分?jǐn)?shù) 據(jù)據(jù) 冗余的數(shù)據(jù):備份、日志、鏡像冗余的數(shù)據(jù):備份、日志、鏡像 恢復(fù)的實現(xiàn)技術(shù):復(fù)雜恢復(fù)的實現(xiàn)技術(shù):復(fù)雜 一個大型數(shù)據(jù)庫產(chǎn)品,恢復(fù)子系統(tǒng)的代碼一個大型數(shù)據(jù)庫產(chǎn)品,恢復(fù)
19、子系統(tǒng)的代碼 要占全部代碼的要占全部代碼的10%以上以上 10.3 故障的種類故障的種類 2011 by26華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 四、計算機(jī)病毒四、計算機(jī)病毒 可能表現(xiàn)為:可能表現(xiàn)為: 系統(tǒng)故障系統(tǒng)故障(軟故障,僅系統(tǒng)崩潰軟故障,僅系統(tǒng)崩潰) 介質(zhì)故障介質(zhì)故障(硬故障,數(shù)據(jù)庫文件被刪硬故障,數(shù)據(jù)庫文件被刪) 10.3 故障的種類故障的種類 2011 by27華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.1 事務(wù)的基本概念事務(wù)的基本概念 10.2 數(shù)據(jù)庫恢復(fù)概述數(shù)據(jù)庫恢復(fù)概述 10.3 故障的種類故障的種類 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 10.5 恢復(fù)
20、策略恢復(fù)策略 10.6 具有檢查點(diǎn)的恢復(fù)技術(shù)具有檢查點(diǎn)的恢復(fù)技術(shù) 10.7 數(shù)據(jù)庫鏡像數(shù)據(jù)庫鏡像 10.8 SQL Server的恢復(fù)技術(shù)的恢復(fù)技術(shù) 10.9 小結(jié)小結(jié) 第第10章章 數(shù)據(jù)庫恢復(fù)技術(shù)數(shù)據(jù)庫恢復(fù)技術(shù) 2011 by28華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 恢復(fù)機(jī)制涉及的關(guān)鍵問題恢復(fù)機(jī)制涉及的關(guān)鍵問題 1. 如何建立冗余數(shù)據(jù)如何建立冗余數(shù)據(jù) 數(shù)據(jù)轉(zhuǎn)儲數(shù)據(jù)轉(zhuǎn)儲(backup)- -備份備份 登錄日志文件登錄日志文件(logging) 2. 如何利用這些冗余數(shù)據(jù)實施數(shù)據(jù)庫恢復(fù)如何利用這些冗余數(shù)據(jù)實施數(shù)據(jù)庫恢復(fù) 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 2011 by29華中科技
21、大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.4.1 數(shù)據(jù)轉(zhuǎn)儲數(shù)據(jù)轉(zhuǎn)儲 10.4.2 登記日志文件登記日志文件 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 2011 by30華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 轉(zhuǎn)儲轉(zhuǎn)儲(備份備份)技術(shù)技術(shù) 1靜態(tài)轉(zhuǎn)儲與動態(tài)轉(zhuǎn)儲靜態(tài)轉(zhuǎn)儲與動態(tài)轉(zhuǎn)儲 2海量轉(zhuǎn)儲與增量轉(zhuǎn)儲海量轉(zhuǎn)儲與增量轉(zhuǎn)儲 3轉(zhuǎn)儲方法小結(jié)轉(zhuǎn)儲方法小結(jié) 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 2011 by31華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 靜態(tài)轉(zhuǎn)儲靜態(tài)轉(zhuǎn)儲 在系統(tǒng)中無運(yùn)行事務(wù)時進(jìn)行轉(zhuǎn)儲在系統(tǒng)中無運(yùn)行事務(wù)時進(jìn)行轉(zhuǎn)儲 轉(zhuǎn)儲開始時數(shù)據(jù)庫處于一致性狀態(tài)轉(zhuǎn)儲開始時數(shù)據(jù)庫處于一致性狀態(tài)
22、轉(zhuǎn)儲期間不允許對數(shù)據(jù)庫的任何存取、修改轉(zhuǎn)儲期間不允許對數(shù)據(jù)庫的任何存取、修改 活動活動 優(yōu)點(diǎn):優(yōu)點(diǎn):實現(xiàn)簡單實現(xiàn)簡單 缺點(diǎn):缺點(diǎn):降低了數(shù)據(jù)庫的可用性降低了數(shù)據(jù)庫的可用性 轉(zhuǎn)儲必須等用戶事務(wù)結(jié)束轉(zhuǎn)儲必須等用戶事務(wù)結(jié)束 新的事務(wù)必須等轉(zhuǎn)儲結(jié)束新的事務(wù)必須等轉(zhuǎn)儲結(jié)束 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 2011 by32華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 動態(tài)轉(zhuǎn)儲動態(tài)轉(zhuǎn)儲 轉(zhuǎn)儲操作與用戶事務(wù)并發(fā)進(jìn)行轉(zhuǎn)儲操作與用戶事務(wù)并發(fā)進(jìn)行 轉(zhuǎn)儲期間允許對數(shù)據(jù)庫進(jìn)行存取或修改轉(zhuǎn)儲期間允許對數(shù)據(jù)庫進(jìn)行存取或修改 優(yōu)點(diǎn)優(yōu)點(diǎn) 不用等待正在運(yùn)行的用戶事務(wù)結(jié)束不用等待正在運(yùn)行的用戶事務(wù)結(jié)束 不會影響新事務(wù)的
23、運(yùn)行不會影響新事務(wù)的運(yùn)行 動態(tài)轉(zhuǎn)儲的缺點(diǎn)動態(tài)轉(zhuǎn)儲的缺點(diǎn) 不能保證副本中的數(shù)據(jù)正確有效不能保證副本中的數(shù)據(jù)正確有效 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 2011 by33華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 利用動態(tài)轉(zhuǎn)儲得到的副本進(jìn)行故障恢復(fù)需利用動態(tài)轉(zhuǎn)儲得到的副本進(jìn)行故障恢復(fù)需 要把動態(tài)轉(zhuǎn)儲期間各事務(wù)對數(shù)據(jù)庫的修改要把動態(tài)轉(zhuǎn)儲期間各事務(wù)對數(shù)據(jù)庫的修改 活動登記下來,建立日志文件活動登記下來,建立日志文件 后備副本加上日志文件才能把數(shù)據(jù)庫恢復(fù)后備副本加上日志文件才能把數(shù)據(jù)庫恢復(fù) 到某一時刻的正確狀態(tài)到某一時刻的正確狀態(tài) 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 2011 by34華中
24、科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 海量轉(zhuǎn)儲與增量轉(zhuǎn)儲海量轉(zhuǎn)儲與增量轉(zhuǎn)儲 海量轉(zhuǎn)儲海量轉(zhuǎn)儲: 每次轉(zhuǎn)儲全部數(shù)據(jù)庫每次轉(zhuǎn)儲全部數(shù)據(jù)庫 增量轉(zhuǎn)儲增量轉(zhuǎn)儲: 只轉(zhuǎn)儲上次轉(zhuǎn)儲后更新過的數(shù)據(jù)只轉(zhuǎn)儲上次轉(zhuǎn)儲后更新過的數(shù)據(jù) 海量轉(zhuǎn)儲與增量轉(zhuǎn)儲比較海量轉(zhuǎn)儲與增量轉(zhuǎn)儲比較 從恢復(fù)角度看,使用海量轉(zhuǎn)儲得到的后備副本進(jìn)從恢復(fù)角度看,使用海量轉(zhuǎn)儲得到的后備副本進(jìn) 行恢復(fù)往往更方便行恢復(fù)往往更方便 但如果數(shù)據(jù)庫很大,事務(wù)處理又十分頻繁,則增但如果數(shù)據(jù)庫很大,事務(wù)處理又十分頻繁,則增 量轉(zhuǎn)儲方式更實用更有效量轉(zhuǎn)儲方式更實用更有效 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 2011 by35華中科技大學(xué)數(shù)據(jù)庫課件第1
25、0章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 轉(zhuǎn)儲狀態(tài)轉(zhuǎn)儲狀態(tài) 動態(tài)轉(zhuǎn)儲動態(tài)轉(zhuǎn)儲靜態(tài)轉(zhuǎn)儲靜態(tài)轉(zhuǎn)儲 轉(zhuǎn)儲轉(zhuǎn)儲 方式方式 海量轉(zhuǎn)儲海量轉(zhuǎn)儲 動態(tài)海量轉(zhuǎn)儲動態(tài)海量轉(zhuǎn)儲靜態(tài)海量轉(zhuǎn)儲靜態(tài)海量轉(zhuǎn)儲 增量轉(zhuǎn)儲增量轉(zhuǎn)儲 動態(tài)增量轉(zhuǎn)儲動態(tài)增量轉(zhuǎn)儲靜態(tài)增量轉(zhuǎn)儲靜態(tài)增量轉(zhuǎn)儲 2011 by36華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.4.1 數(shù)據(jù)轉(zhuǎn)儲數(shù)據(jù)轉(zhuǎn)儲 10.4.2 登記日志文件登記日志文件 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 2011 by37華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 日志文件日志文件 1日志文件的內(nèi)容日志文件的內(nèi)容 2日志文件的用途日志文件的用途 3登
26、記日志文件的原則登記日志文件的原則 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 2011 by38華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 一、日志文件的內(nèi)容一、日志文件的內(nèi)容 1. 什么是日志文件什么是日志文件 日志文件日志文件(log)是用來記錄事務(wù)對數(shù)據(jù)庫的更是用來記錄事務(wù)對數(shù)據(jù)庫的更 新操作的文件新操作的文件 2. 日志文件的格式日志文件的格式 以記錄為單位的日志文件以記錄為單位的日志文件 以數(shù)據(jù)塊為單位的日志文件以數(shù)據(jù)塊為單位的日志文件 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 2011 by39華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 3. 日志文件的內(nèi)容日志文件的內(nèi)容 各個
27、事務(wù)的開始標(biāo)記各個事務(wù)的開始標(biāo)記(BEGIN TRANSACTION) 各個事務(wù)的結(jié)束標(biāo)記各個事務(wù)的結(jié)束標(biāo)記(COMMIT或或ROLLBACK) 各個事務(wù)的所有更新操作各個事務(wù)的所有更新操作 與事務(wù)有關(guān)的內(nèi)部更新操作與事務(wù)有關(guān)的內(nèi)部更新操作 作為日志文件中的一個日志記錄作為日志文件中的一個日志記錄 (log record) 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 2011 by40華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 4. 基于記錄的日志文件基于記錄的日志文件 每條日志記錄的內(nèi)容每條日志記錄的內(nèi)容 事務(wù)標(biāo)識事務(wù)標(biāo)識 操作類型(插入、刪除或修改)操作類型(插入、刪除或修改) 操作對象(
28、記錄操作對象(記錄ID、Block NO.) 更新前數(shù)據(jù)的舊值(對插入操作而言更新前數(shù)據(jù)的舊值(對插入操作而言,此項為空值)此項為空值) 更新后數(shù)據(jù)的新值(對刪除操作而言更新后數(shù)據(jù)的新值(對刪除操作而言, 此項為空值)此項為空值) 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 2011 by41華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 5. 基于數(shù)據(jù)塊的日志文件基于數(shù)據(jù)塊的日志文件 每條日志記錄的內(nèi)容每條日志記錄的內(nèi)容 事務(wù)標(biāo)識(標(biāo)明是那個事務(wù))事務(wù)標(biāo)識(標(biāo)明是那個事務(wù)) 操作對象(記錄操作對象(記錄ID、Block NO.) 更新前數(shù)據(jù)所在的整個數(shù)據(jù)塊的值(對插入操作更新前數(shù)據(jù)所在的整個數(shù)據(jù)
29、塊的值(對插入操作 而言,此項為空值)而言,此項為空值) 更新后整個數(shù)據(jù)塊的值(對刪除操作而言更新后整個數(shù)據(jù)塊的值(對刪除操作而言, 此項為此項為 空值)空值) 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 2011 by42華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 二、日志文件的作用二、日志文件的作用 1. 用途用途 進(jìn)行事務(wù)故障恢復(fù)進(jìn)行事務(wù)故障恢復(fù) 進(jìn)行系統(tǒng)故障恢復(fù)進(jìn)行系統(tǒng)故障恢復(fù) 協(xié)助后備副本進(jìn)行介質(zhì)故障恢復(fù)協(xié)助后備副本進(jìn)行介質(zhì)故障恢復(fù) 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 2011 by43華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 2. 與靜態(tài)轉(zhuǎn)儲后備副本配合進(jìn)行介質(zhì)故障恢復(fù)與
30、靜態(tài)轉(zhuǎn)儲后備副本配合進(jìn)行介質(zhì)故障恢復(fù) 靜態(tài)轉(zhuǎn)儲的數(shù)據(jù)已是一致性的數(shù)據(jù)靜態(tài)轉(zhuǎn)儲的數(shù)據(jù)已是一致性的數(shù)據(jù) 如果靜態(tài)轉(zhuǎn)儲完成后,仍能定期轉(zhuǎn)儲日志文件,如果靜態(tài)轉(zhuǎn)儲完成后,仍能定期轉(zhuǎn)儲日志文件, 則在出現(xiàn)介質(zhì)故障重裝數(shù)據(jù)副本后,可以利用這則在出現(xiàn)介質(zhì)故障重裝數(shù)據(jù)副本后,可以利用這 些日志文件副本對已完成的事務(wù)進(jìn)行重做處理些日志文件副本對已完成的事務(wù)進(jìn)行重做處理 這樣不必重新運(yùn)行那些已完成的事務(wù)程序就可把這樣不必重新運(yùn)行那些已完成的事務(wù)程序就可把 數(shù)據(jù)庫恢復(fù)到故障前某一時刻的正確狀態(tài)數(shù)據(jù)庫恢復(fù)到故障前某一時刻的正確狀態(tài) 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 2011 by44華中科技大學(xué)數(shù)據(jù)庫課件第10
31、章數(shù)據(jù)庫恢復(fù) 技術(shù) 3.介質(zhì)故障恢復(fù):介質(zhì)故障恢復(fù):LOG FILE + 動態(tài)轉(zhuǎn)儲后備副本動態(tài)轉(zhuǎn)儲后備副本 動態(tài)轉(zhuǎn)儲數(shù)據(jù)庫:同時轉(zhuǎn)儲同一時點(diǎn)的日志文件動態(tài)轉(zhuǎn)儲數(shù)據(jù)庫:同時轉(zhuǎn)儲同一時點(diǎn)的日志文件 后備副本與該日志文件結(jié)合起來才能將數(shù)據(jù)庫恢后備副本與該日志文件結(jié)合起來才能將數(shù)據(jù)庫恢 復(fù)到一致性狀態(tài)。復(fù)到一致性狀態(tài)。 利用這些日志文件副本進(jìn)一步恢復(fù)事務(wù),避免重利用這些日志文件副本進(jìn)一步恢復(fù)事務(wù),避免重 新運(yùn)行事務(wù)程序。新運(yùn)行事務(wù)程序。 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 2011 by45華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 三、登錄日志文件的原則三、登錄日志文件的原則 登記的次序嚴(yán)格
32、按并行事務(wù)執(zhí)行的時間次序登記的次序嚴(yán)格按并行事務(wù)執(zhí)行的時間次序 必須先寫日志文件,后寫數(shù)據(jù)庫必須先寫日志文件,后寫數(shù)據(jù)庫 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 2011 by46華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.1 事務(wù)的基本概念事務(wù)的基本概念 10.2 數(shù)據(jù)庫恢復(fù)概述數(shù)據(jù)庫恢復(fù)概述 10.3 故障的種類故障的種類 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 10.5 恢復(fù)策略恢復(fù)策略 10.6 具有檢查點(diǎn)的恢復(fù)技術(shù)具有檢查點(diǎn)的恢復(fù)技術(shù) 10.7 數(shù)據(jù)庫鏡像數(shù)據(jù)庫鏡像 10.8 SQL Server的恢復(fù)技術(shù)的恢復(fù)技術(shù) 10.9 小結(jié)小結(jié) 第第10章章 數(shù)據(jù)庫恢復(fù)技術(shù)數(shù)據(jù)庫恢
33、復(fù)技術(shù) 2011 by47華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.5.1 事務(wù)故障的恢復(fù)事務(wù)故障的恢復(fù) 10.5.2 系統(tǒng)故障的恢復(fù)系統(tǒng)故障的恢復(fù) 10.5.3 介質(zhì)故障的恢復(fù)介質(zhì)故障的恢復(fù) 10.5 恢復(fù)的策略恢復(fù)的策略 2011 by48華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.5.1 事務(wù)故障的恢復(fù)事務(wù)故障的恢復(fù) 事務(wù)故障:事務(wù)在運(yùn)行至正常終止點(diǎn)前被中止事務(wù)故障:事務(wù)在運(yùn)行至正常終止點(diǎn)前被中止 恢復(fù)方法恢復(fù)方法 由恢復(fù)子系統(tǒng)應(yīng)利用日志文件撤消(由恢復(fù)子系統(tǒng)應(yīng)利用日志文件撤消(UNDO)此)此 事務(wù)已對數(shù)據(jù)庫進(jìn)行的修改事務(wù)已對數(shù)據(jù)庫進(jìn)行的修改 事務(wù)故障的恢復(fù)由系統(tǒng)
34、自動完成,不需要用戶干預(yù)事務(wù)故障的恢復(fù)由系統(tǒng)自動完成,不需要用戶干預(yù) 10.5 恢復(fù)的策略恢復(fù)的策略 2011 by49華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 事務(wù)故障的恢復(fù)步驟事務(wù)故障的恢復(fù)步驟 1. 反向掃描文件日志(即從最后向前掃描日志文件),反向掃描文件日志(即從最后向前掃描日志文件), 查找該事務(wù)的更新操作。查找該事務(wù)的更新操作。 2. 對該事務(wù)的更新操作執(zhí)行逆操作。即將日志記錄中對該事務(wù)的更新操作執(zhí)行逆操作。即將日志記錄中 “更新前的值更新前的值”(Befor Image, BI)寫入數(shù)據(jù)庫。)寫入數(shù)據(jù)庫。 插入操作,插入操作, “更新前的值更新前的值”為空,則相當(dāng)于做刪除
35、操作為空,則相當(dāng)于做刪除操作 刪除操作,刪除操作,“更新后的值更新后的值”為空,則相當(dāng)于做插入操作為空,則相當(dāng)于做插入操作 若是修改操作,則用若是修改操作,則用BI 代替代替 AI(After Image) 3. 繼續(xù)反掃描,對下一個更新操作作同樣處理。繼續(xù)反掃描,對下一個更新操作作同樣處理。 4. 只到讀到此事務(wù)的開始標(biāo)記。只到讀到此事務(wù)的開始標(biāo)記。 10.5 恢復(fù)的策略恢復(fù)的策略 2011 by50華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.5.2 系統(tǒng)故障的恢復(fù)系統(tǒng)故障的恢復(fù) 系統(tǒng)故障造成數(shù)據(jù)庫不一致狀態(tài)的原因系統(tǒng)故障造成數(shù)據(jù)庫不一致狀態(tài)的原因 一些未完成事務(wù)對數(shù)據(jù)庫的更新已寫
36、入數(shù)據(jù)庫一些未完成事務(wù)對數(shù)據(jù)庫的更新已寫入數(shù)據(jù)庫 一些已提交事務(wù)對數(shù)據(jù)庫的更新還留在緩沖區(qū)沒一些已提交事務(wù)對數(shù)據(jù)庫的更新還留在緩沖區(qū)沒 來得及寫入數(shù)據(jù)庫來得及寫入數(shù)據(jù)庫 恢復(fù)方法恢復(fù)方法 1. Undo 故障發(fā)生時未完成的事務(wù)故障發(fā)生時未完成的事務(wù) 2. Redo 已完成的事務(wù)已完成的事務(wù) 系統(tǒng)故障的恢復(fù)由系統(tǒng)在系統(tǒng)故障的恢復(fù)由系統(tǒng)在重新啟動時重新啟動時自動完成,不自動完成,不 需要用戶干預(yù)需要用戶干預(yù) 10.5 恢復(fù)的策略恢復(fù)的策略 2011 by51華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 系統(tǒng)故障的恢復(fù)步驟系統(tǒng)故障的恢復(fù)步驟 1. 正向掃描日志文件(即從頭掃描日志文件)正向掃描日志
37、文件(即從頭掃描日志文件) Redo隊列隊列: 在故障發(fā)生前已經(jīng)提交的事務(wù)在故障發(fā)生前已經(jīng)提交的事務(wù) Undo隊列隊列:故障發(fā)生時尚未完成的事務(wù)故障發(fā)生時尚未完成的事務(wù) 2. 對對Undo隊列事務(wù)進(jìn)行隊列事務(wù)進(jìn)行UNDO處理處理 反向掃描日志文件,對每個反向掃描日志文件,對每個UNDO事務(wù)的更新操作事務(wù)的更新操作 執(zhí)行逆操作執(zhí)行逆操作 3. 對對Redo隊列事務(wù)進(jìn)行隊列事務(wù)進(jìn)行REDO處理處理 正向掃描日志文件,對每個正向掃描日志文件,對每個REDO事務(wù)重新執(zhí)行登記事務(wù)重新執(zhí)行登記 的操作的操作 10.5 恢復(fù)的策略恢復(fù)的策略 2011 by52華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù)
38、10.5.3 介質(zhì)故障的恢復(fù)介質(zhì)故障的恢復(fù) 1. 重裝數(shù)據(jù)庫,使數(shù)據(jù)庫恢復(fù)到一致性狀態(tài)重裝數(shù)據(jù)庫,使數(shù)據(jù)庫恢復(fù)到一致性狀態(tài) 2. 重做已完成的事務(wù)重做已完成的事務(wù) 10.5 恢復(fù)的策略恢復(fù)的策略 2011 by53華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 介質(zhì)故障的恢復(fù)步驟介質(zhì)故障的恢復(fù)步驟 1. 裝入最新的后備數(shù)據(jù)庫副本,使數(shù)據(jù)庫恢復(fù)到最近裝入最新的后備數(shù)據(jù)庫副本,使數(shù)據(jù)庫恢復(fù)到最近 一次轉(zhuǎn)儲時的一致性狀態(tài)。一次轉(zhuǎn)儲時的一致性狀態(tài)。 對于靜態(tài)轉(zhuǎn)儲的數(shù)據(jù)庫副本,裝入后數(shù)據(jù)庫即處對于靜態(tài)轉(zhuǎn)儲的數(shù)據(jù)庫副本,裝入后數(shù)據(jù)庫即處 于一致性狀態(tài)于一致性狀態(tài) 對于動態(tài)轉(zhuǎn)儲的數(shù)據(jù)庫副本,還須同時裝入轉(zhuǎn)儲
39、對于動態(tài)轉(zhuǎn)儲的數(shù)據(jù)庫副本,還須同時裝入轉(zhuǎn)儲 時刻的日志文件副本,利用與恢復(fù)系統(tǒng)故障相同時刻的日志文件副本,利用與恢復(fù)系統(tǒng)故障相同 的方法(即的方法(即REDO+UNDO),才能將數(shù)據(jù)庫恢復(fù)),才能將數(shù)據(jù)庫恢復(fù) 到一致性狀態(tài)。到一致性狀態(tài)。 10.5 恢復(fù)的策略恢復(fù)的策略 2011 by54華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 介質(zhì)故障的恢復(fù)步驟介質(zhì)故障的恢復(fù)步驟(續(xù)續(xù)) 2. 裝入有關(guān)的日志文件副本,重做已完成的事務(wù)。裝入有關(guān)的日志文件副本,重做已完成的事務(wù)。 首先掃描日志文件,找出故障發(fā)生時已提交的事首先掃描日志文件,找出故障發(fā)生時已提交的事 務(wù)的標(biāo)識,將其記入重做務(wù)的標(biāo)識,將其記
40、入重做(REDO)隊列。隊列。 然后正向掃描日志文件,對重做隊列中的所有事然后正向掃描日志文件,對重做隊列中的所有事 務(wù)進(jìn)行重做處理。即將日志記錄中務(wù)進(jìn)行重做處理。即將日志記錄中“更新后的值更新后的值” 寫入數(shù)據(jù)庫。寫入數(shù)據(jù)庫。 介質(zhì)故障的恢復(fù)需要介質(zhì)故障的恢復(fù)需要DBA介入介入 10.5 恢復(fù)的策略恢復(fù)的策略 2011 by55華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.1 事務(wù)的基本概念事務(wù)的基本概念 10.2 數(shù)據(jù)庫恢復(fù)概述數(shù)據(jù)庫恢復(fù)概述 10.3 故障的種類故障的種類 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 10.5 恢復(fù)策略恢復(fù)策略 10.6 具有檢查點(diǎn)的恢復(fù)技術(shù)具有檢查點(diǎn)
41、的恢復(fù)技術(shù) 10.7 數(shù)據(jù)庫鏡像數(shù)據(jù)庫鏡像 10.8 SQL Server的恢復(fù)技術(shù)的恢復(fù)技術(shù) 10.9 小結(jié)小結(jié) 第第10章章 數(shù)據(jù)庫恢復(fù)技術(shù)數(shù)據(jù)庫恢復(fù)技術(shù) 2011 by56華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 一、問題的提出一、問題的提出 二、檢查點(diǎn)技術(shù)二、檢查點(diǎn)技術(shù) 三、利用檢查點(diǎn)的恢復(fù)策略三、利用檢查點(diǎn)的恢復(fù)策略 10.6 具有檢查點(diǎn)的恢復(fù)技術(shù)具有檢查點(diǎn)的恢復(fù)技術(shù) 2011 by57華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 一、問題的提出一、問題的提出 兩個問題兩個問題 搜索整個日志將耗費(fèi)大量的時間搜索整個日志將耗費(fèi)大量的時間 REDO處理:重新執(zhí)行,浪費(fèi)了大量時間處
42、理:重新執(zhí)行,浪費(fèi)了大量時間 具有檢查點(diǎn)(具有檢查點(diǎn)(checkpoint)的恢復(fù)技術(shù))的恢復(fù)技術(shù) 在日志文件中增加檢查點(diǎn)記錄在日志文件中增加檢查點(diǎn)記錄(checkpoint) 增加重新開始文件增加重新開始文件 恢復(fù)子系統(tǒng)在登錄日志文件期間動態(tài)地維護(hù)日志恢復(fù)子系統(tǒng)在登錄日志文件期間動態(tài)地維護(hù)日志 10.6 具有檢查點(diǎn)的恢復(fù)技術(shù)具有檢查點(diǎn)的恢復(fù)技術(shù) 2011 by58華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.6 具有檢查點(diǎn)的恢復(fù)技術(shù)具有檢查點(diǎn)的恢復(fù)技術(shù) 2011 by59華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 二、檢查點(diǎn)技術(shù)二、檢查點(diǎn)技術(shù) 檢查點(diǎn)記錄的內(nèi)容檢查點(diǎn)記錄的內(nèi)容 1
43、. 建立檢查點(diǎn)時刻所有正在執(zhí)行的事務(wù)清單建立檢查點(diǎn)時刻所有正在執(zhí)行的事務(wù)清單 2. 這些事務(wù)最近一個日志記錄的地址這些事務(wù)最近一個日志記錄的地址 重新開始文件的內(nèi)容重新開始文件的內(nèi)容 記錄各個檢查點(diǎn)記錄在日志文件中的地址記錄各個檢查點(diǎn)記錄在日志文件中的地址 10.6 具有檢查點(diǎn)的恢復(fù)技術(shù)具有檢查點(diǎn)的恢復(fù)技術(shù) 2011 by60華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 在檢查點(diǎn)如何維護(hù)日志文件在檢查點(diǎn)如何維護(hù)日志文件 1. 將當(dāng)前日志緩沖區(qū)中的所有日志記錄寫入磁盤的日將當(dāng)前日志緩沖區(qū)中的所有日志記錄寫入磁盤的日 志文件上。志文件上。 2. 在日志文件中寫入一個檢查點(diǎn)記錄。在日志文件中寫入一
44、個檢查點(diǎn)記錄。 3. 將當(dāng)前數(shù)據(jù)緩沖區(qū)的所有數(shù)據(jù)記錄寫入磁盤的數(shù)據(jù)將當(dāng)前數(shù)據(jù)緩沖區(qū)的所有數(shù)據(jù)記錄寫入磁盤的數(shù)據(jù) 庫中。庫中。 4. 把檢查點(diǎn)記錄在日志文件中的地址寫入一個重新開把檢查點(diǎn)記錄在日志文件中的地址寫入一個重新開 始文件。始文件。 10.6 具有檢查點(diǎn)的恢復(fù)技術(shù)具有檢查點(diǎn)的恢復(fù)技術(shù) 2011 by61華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 三、利用檢查點(diǎn)的恢復(fù)技術(shù)三、利用檢查點(diǎn)的恢復(fù)技術(shù) 當(dāng)事務(wù)當(dāng)事務(wù)T在一個檢查點(diǎn)之前提交在一個檢查點(diǎn)之前提交 T對數(shù)據(jù)庫所做的修改已寫入數(shù)據(jù)庫對數(shù)據(jù)庫所做的修改已寫入數(shù)據(jù)庫 在進(jìn)行恢復(fù)處理時,沒有必要對事務(wù)在進(jìn)行恢復(fù)處理時,沒有必要對事務(wù)T執(zhí)行執(zhí)
45、行 REDO操作操作 10.6 具有檢查點(diǎn)的恢復(fù)技術(shù)具有檢查點(diǎn)的恢復(fù)技術(shù) 2011 by62華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.6 具有檢查點(diǎn)的恢復(fù)技術(shù)具有檢查點(diǎn)的恢復(fù)技術(shù) Tc (檢查點(diǎn)檢查點(diǎn))Tf(系統(tǒng)故障系統(tǒng)故障) REDO UNDO UNDO REDO T2 T3 T4 T5 不要不要REDOT1 2011 by63華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 利用檢查點(diǎn)的恢復(fù)步驟利用檢查點(diǎn)的恢復(fù)步驟 1. 從重新開始文件中找到最后一個檢查點(diǎn)記錄在日志從重新開始文件中找到最后一個檢查點(diǎn)記錄在日志 文件中的地址,由該地址在日志文件中找到最后一文件中的地址,由該地址在日
46、志文件中找到最后一 個檢查點(diǎn)記錄個檢查點(diǎn)記錄 2.由該檢查點(diǎn)記錄得到檢查點(diǎn)建立時刻所有正在執(zhí)行由該檢查點(diǎn)記錄得到檢查點(diǎn)建立時刻所有正在執(zhí)行 的事務(wù)清單的事務(wù)清單ACTIVE-LIST 建立兩個事務(wù)隊列建立兩個事務(wù)隊列 UNDO-LIST REDO-LIST 把把ACTIVE-LIST暫時放入暫時放入UNDO-LIST隊列,隊列, REDO隊列暫為空。隊列暫為空。 10.6 具有檢查點(diǎn)的恢復(fù)技術(shù)具有檢查點(diǎn)的恢復(fù)技術(shù) 2011 by64華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 利用檢查點(diǎn)的恢復(fù)步驟利用檢查點(diǎn)的恢復(fù)步驟(續(xù)續(xù)) 3. 從檢查點(diǎn)開始正向掃描日志文件,直到日志從檢查點(diǎn)開始正向掃描日
47、志文件,直到日志 文件結(jié)束文件結(jié)束 如有新開始的事務(wù)如有新開始的事務(wù)Ti,把,把Ti暫時放入暫時放入 UNDO-LIST隊列隊列 如有提交的事務(wù)如有提交的事務(wù)Tj,把,把Tj從從UNDO-LIST隊隊 列移到列移到REDO-LIST隊列隊列 4. 對對UNDO-LIST中的每個事務(wù)執(zhí)行中的每個事務(wù)執(zhí)行UNDO操操 作作, 對對REDO-LIST中的每個事務(wù)執(zhí)行中的每個事務(wù)執(zhí)行REDO 操作操作 10.6 具有檢查點(diǎn)的恢復(fù)技術(shù)具有檢查點(diǎn)的恢復(fù)技術(shù) 2011 by65華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.1 事務(wù)的基本概念事務(wù)的基本概念 10.2 數(shù)據(jù)庫恢復(fù)概述數(shù)據(jù)庫恢復(fù)概述 10
48、.3 故障的種類故障的種類 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 10.5 恢復(fù)策略恢復(fù)策略 10.6 具有檢查點(diǎn)的恢復(fù)技術(shù)具有檢查點(diǎn)的恢復(fù)技術(shù) 10.7 數(shù)據(jù)庫鏡像數(shù)據(jù)庫鏡像 10.8 SQL Server的恢復(fù)技術(shù)的恢復(fù)技術(shù) 10.9 小結(jié)小結(jié) 第第10章章 數(shù)據(jù)庫恢復(fù)技術(shù)數(shù)據(jù)庫恢復(fù)技術(shù) 2011 by66華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.7 數(shù)據(jù)庫鏡像數(shù)據(jù)庫鏡像 介質(zhì)故障是對系統(tǒng)影響最為嚴(yán)重的一種故障,介質(zhì)故障是對系統(tǒng)影響最為嚴(yán)重的一種故障, 嚴(yán)重影響數(shù)據(jù)庫的可用性嚴(yán)重影響數(shù)據(jù)庫的可用性 介質(zhì)故障恢復(fù)比較費(fèi)時介質(zhì)故障恢復(fù)比較費(fèi)時 為預(yù)防介質(zhì)故障,為預(yù)防介質(zhì)故障,DB
49、A必須周期性地轉(zhuǎn)儲數(shù)據(jù)庫必須周期性地轉(zhuǎn)儲數(shù)據(jù)庫 提高數(shù)據(jù)庫可用性的解決方案提高數(shù)據(jù)庫可用性的解決方案 數(shù)據(jù)庫鏡像(數(shù)據(jù)庫鏡像(Mirror) 數(shù)據(jù)庫鏡像數(shù)據(jù)庫鏡像 DBMS自動把整個數(shù)據(jù)庫或其中的關(guān)鍵數(shù)據(jù)復(fù)制自動把整個數(shù)據(jù)庫或其中的關(guān)鍵數(shù)據(jù)復(fù)制 到另一個磁盤上到另一個磁盤上 DBMS自動保證鏡像數(shù)據(jù)與主數(shù)據(jù)的一致性自動保證鏡像數(shù)據(jù)與主數(shù)據(jù)的一致性 2011 by67華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.7 數(shù)據(jù)庫鏡像數(shù)據(jù)庫鏡像 鏡像的作用鏡像的作用 出現(xiàn)介質(zhì)故障時出現(xiàn)介質(zhì)故障時 DBMS自動利用鏡像磁盤數(shù)據(jù)進(jìn)行數(shù)據(jù)庫的恢復(fù),自動利用鏡像磁盤數(shù)據(jù)進(jìn)行數(shù)據(jù)庫的恢復(fù), 不需要關(guān)閉系統(tǒng)
50、和重裝數(shù)據(jù)庫副本不需要關(guān)閉系統(tǒng)和重裝數(shù)據(jù)庫副本(圖圖7.5b) 沒有出現(xiàn)故障時沒有出現(xiàn)故障時 可用于并發(fā)操作可用于并發(fā)操作(圖圖7.5a);一個用戶對數(shù)據(jù)加排他一個用戶對數(shù)據(jù)加排他 鎖修改數(shù)據(jù),其他用戶可以讀鏡像數(shù)據(jù)庫上的數(shù)鎖修改數(shù)據(jù),其他用戶可以讀鏡像數(shù)據(jù)庫上的數(shù) 據(jù)據(jù) 2011 by68華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.1 事務(wù)的基本概念事務(wù)的基本概念 10.2 數(shù)據(jù)庫恢復(fù)概述數(shù)據(jù)庫恢復(fù)概述 10.3 故障的種類故障的種類 10.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù) 10.5 恢復(fù)策略恢復(fù)策略 10.6 具有檢查點(diǎn)的恢復(fù)技術(shù)具有檢查點(diǎn)的恢復(fù)技術(shù) 10.7 數(shù)據(jù)庫鏡像數(shù)據(jù)庫鏡
51、像 10.8 SQL Server的恢復(fù)技術(shù)的恢復(fù)技術(shù) 10.9 小結(jié)小結(jié) 第第10章章 數(shù)據(jù)庫恢復(fù)技術(shù)數(shù)據(jù)庫恢復(fù)技術(shù) 2011 by69華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.8 SQL Server的恢復(fù)技術(shù)的恢復(fù)技術(shù) 恢復(fù)模式恢復(fù)模式 簡單恢復(fù)簡單恢復(fù)(Simple Recovery) 完全恢復(fù)完全恢復(fù)(Full Recovery) 批量恢復(fù)批量恢復(fù)(Bulk-Logged Recovery) 備份機(jī)制備份機(jī)制 數(shù)據(jù)庫備份數(shù)據(jù)庫備份 日志備份日志備份 差異備份差異備份 文件及文件組備份文件及文件組備份 2011 by70華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.
52、8 SQL Server的恢復(fù)技術(shù)的恢復(fù)技術(shù) 演示演示SQL Server的恢復(fù)技術(shù)的恢復(fù)技術(shù) 1. 創(chuàng)建數(shù)據(jù)庫、創(chuàng)建表、創(chuàng)建備份設(shè)備創(chuàng)建數(shù)據(jù)庫、創(chuàng)建表、創(chuàng)建備份設(shè)備 2. 在表中加入行在表中加入行(執(zhí)行事務(wù)操作執(zhí)行事務(wù)操作) 3. 備份數(shù)據(jù)庫備份數(shù)據(jù)庫 4. 向該表追加若干行向該表追加若干行 5. 備份事務(wù)日志備份事務(wù)日志 6. 再向該表中加入若干行再向該表中加入若干行 7. 人為制造故障人為制造故障(Stop服務(wù)器后,刪除數(shù)據(jù)庫文服務(wù)器后,刪除數(shù)據(jù)庫文 件,再件,再Restart) 8. 恢復(fù)到故障點(diǎn)恢復(fù)到故障點(diǎn) 2011 by71華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.8
53、SQL Server的恢復(fù)技術(shù)的恢復(fù)技術(shù) 1. 建表、備份設(shè)備建表、備份設(shè)備 create table t(no int not null primary key, moment datetime) EXEC sp_addumpdevice disk, mydiskdump, c:demodump1.bak EXEC sp_addumpdevice disk, mylogdump, c:demodump2.bak 2. 在表中加入行在表中加入行(執(zhí)行事務(wù)操作執(zhí)行事務(wù)操作) declare i int select i = 1 while i = 3 begin insert into t values (i, cast(getdate() as char(20) select i = i + 1 end 2011 by72華中科技大學(xué)數(shù)據(jù)庫課件第10章數(shù)據(jù)庫恢復(fù) 技術(shù) 10.8 SQL Server的恢復(fù)技術(shù)的恢復(fù)技術(shù) 3. 備份數(shù)據(jù)庫備份數(shù)據(jù)庫 backup database examp
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年男方不忠婚姻解約合同模板版B版
- 2024版XX軟件分銷商居間合作合同一
- 2024年進(jìn)出口貿(mào)易意向書
- 2024年貨車掛靠合作協(xié)議模板
- 2024深圳二手房購房定金及物業(yè)管理服務(wù)合同3篇
- 職業(yè)規(guī)劃課程設(shè)計答卷
- 2025年度建筑工地技術(shù)指導(dǎo)與施工管理勞務(wù)服務(wù)合同3篇
- 二零二五年度傭金支付與客戶滿意度提升合同3篇
- 二零二五年互聯(lián)網(wǎng)廣告業(yè)務(wù)保密合同2篇
- 承德應(yīng)用技術(shù)職業(yè)學(xué)院《嵌入式系統(tǒng)原理與應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 插座安裝 服務(wù)合同范本
- 承德市承德縣2022-2023學(xué)年七年級上學(xué)期期末歷史試題【帶答案】
- CJT511-2017 鑄鐵檢查井蓋
- 轉(zhuǎn)科患者交接記錄單
- 現(xiàn)代漢語智慧樹知到期末考試答案章節(jié)答案2024年昆明學(xué)院
- 人教版六年級數(shù)學(xué)(上冊)期末調(diào)研題及答案
- 舞蹈療法在減少壓力和焦慮中的作用
- 計算機(jī)應(yīng)用專業(yè)大學(xué)生職業(yè)生涯規(guī)劃
- 設(shè)備的故障管理
- 女性婦科保健知識講座
- 《電力系統(tǒng)治安反恐防范要求 第3部分:水力發(fā)電企業(yè)》
評論
0/150
提交評論