七章數(shù)據(jù)庫恢復(fù)技術(shù)ppt課件_第1頁
七章數(shù)據(jù)庫恢復(fù)技術(shù)ppt課件_第2頁
七章數(shù)據(jù)庫恢復(fù)技術(shù)ppt課件_第3頁
七章數(shù)據(jù)庫恢復(fù)技術(shù)ppt課件_第4頁
七章數(shù)據(jù)庫恢復(fù)技術(shù)ppt課件_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第七章第七章 數(shù)據(jù)庫恢復(fù)技術(shù)數(shù)據(jù)庫恢復(fù)技術(shù)本章主要教學(xué)內(nèi)容:本章主要教學(xué)內(nèi)容:事務(wù)的概念及性質(zhì)事務(wù)的概念及性質(zhì)缺點的種類缺點的種類恢復(fù)的實現(xiàn)技術(shù)及戰(zhàn)略恢復(fù)的實現(xiàn)技術(shù)及戰(zhàn)略7.1 事務(wù)的根本概念事務(wù)的根本概念一、事務(wù)一、事務(wù) 1. 定義:定義: 事務(wù)事務(wù)(Transaction)是用戶定義的一個數(shù)據(jù)庫操作序列,這是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么全做,要么全不做,是一個不可分割的任務(wù)單位些操作要么全做,要么全不做,是一個不可分割的任務(wù)單位 2. 事務(wù)和程序的區(qū)別: 在關(guān)系數(shù)據(jù)庫中,一個事務(wù)可以是一條SQL語句,一組SQL語句或整個程序 一個運用程序通常包含多個事務(wù)事務(wù)是恢復(fù)和并發(fā)控制的

2、根本單位。事務(wù)是恢復(fù)和并發(fā)控制的根本單位。二、定義事務(wù)的方法二、定義事務(wù)的方法1. 顯示定義方法:顯示定義方法:BEGIN TRANSACTION BEGIN TRANSACTION SQL 語句語句1 SQL 語句語句1 SQL 語句語句2 SQL 語句語句2 COMMIT ROLLBACK闡明:闡明:COMMIT 事務(wù)正常終了事務(wù)正常終了 提交事務(wù)的一切操作讀提交事務(wù)的一切操作讀+更新更新 事務(wù)中一切對數(shù)據(jù)庫的更新永久生事務(wù)中一切對數(shù)據(jù)庫的更新永久生效效ROLLBACK事務(wù)異常終止事務(wù)異常終止事務(wù)運轉(zhuǎn)的過程中發(fā)生了缺點,不能事務(wù)運轉(zhuǎn)的過程中發(fā)生了缺點,不能繼續(xù)執(zhí)行繼續(xù)執(zhí)行吊銷事務(wù)中對數(shù)據(jù)庫

3、的一切更新操作吊銷事務(wù)中對數(shù)據(jù)庫的一切更新操作事務(wù)滾回到開場時的形狀事務(wù)滾回到開場時的形狀2. 隱式定義方式隱式定義方式 當(dāng)用戶沒有顯式地定義事務(wù)時,當(dāng)用戶沒有顯式地定義事務(wù)時,DBMS按缺省規(guī)定自動劃分按缺省規(guī)定自動劃分事務(wù)。事務(wù)。三、事務(wù)的特性三、事務(wù)的特性事務(wù)的事務(wù)的ACID特性:特性:原子性原子性Atomicity一致性一致性Consistency隔離性隔離性Isolation繼續(xù)性繼續(xù)性Durability 1. 原子性:原子性: 事務(wù)是數(shù)據(jù)庫的邏輯任務(wù)單位,事務(wù)中包括的諸操作要么都事務(wù)是數(shù)據(jù)庫的邏輯任務(wù)單位,事務(wù)中包括的諸操作要么都做,要么都不做。做,要么都不做。2. 一致性:一致

4、性: 事務(wù)執(zhí)行的結(jié)果必需是使數(shù)據(jù)庫從一個一致性形狀變到另一事務(wù)執(zhí)行的結(jié)果必需是使數(shù)據(jù)庫從一個一致性形狀變到另一個一致性形狀。個一致性形狀。一致性形狀:數(shù)據(jù)庫中只包含勝利事務(wù)提交的結(jié)果。一致性形狀:數(shù)據(jù)庫中只包含勝利事務(wù)提交的結(jié)果。不一致形狀:數(shù)據(jù)庫中包含失敗事務(wù)的結(jié)果。不一致形狀:數(shù)據(jù)庫中包含失敗事務(wù)的結(jié)果。例:銀行轉(zhuǎn)帳:從帳號例:銀行轉(zhuǎn)帳:從帳號A中取出一萬元,存入帳號中取出一萬元,存入帳號B。 B=B+1 A=A-1BA定義一個事務(wù),該事務(wù)包括兩個操作定義一個事務(wù),該事務(wù)包括兩個操作這兩個操作要么全做,要么全不做:這兩個操作要么全做,要么全不做: 全做或者全不做,數(shù)據(jù)庫都處于一致性形狀。全

5、做或者全不做,數(shù)據(jù)庫都處于一致性形狀。 假設(shè)只做一個操作,數(shù)據(jù)庫就處于不一致性形狀。假設(shè)只做一個操作,數(shù)據(jù)庫就處于不一致性形狀。3. 隔離性隔離性一個事務(wù)的執(zhí)行不能被其他事務(wù)干擾。一個事務(wù)的執(zhí)行不能被其他事務(wù)干擾。n 一個事務(wù)內(nèi)部的操作及運用的數(shù)據(jù)對其他并發(fā)事務(wù)是隔離的一個事務(wù)內(nèi)部的操作及運用的數(shù)據(jù)對其他并發(fā)事務(wù)是隔離的n 并發(fā)執(zhí)行的各個事務(wù)之間不能相互關(guān)擾并發(fā)執(zhí)行的各個事務(wù)之間不能相互關(guān)擾舉例:舉例: 讀A=16 AA-3寫回A=13 讀A=16 AA-1 寫回A=15 T2T1T1T1的修正被的修正被T2T2覆蓋覆蓋4. 繼續(xù)性繼續(xù)性繼續(xù)性也稱永久性繼續(xù)性也稱永久性Permanence。

6、一個一個事務(wù)一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改動就應(yīng)該是一個一個事務(wù)一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改動就應(yīng)該是永久性的。永久性的。 接下來的其他操作或缺點不應(yīng)該對其執(zhí)行結(jié)果有任何影響。接下來的其他操作或缺點不應(yīng)該對其執(zhí)行結(jié)果有任何影響。n 保證事務(wù)保證事務(wù)ACID特性是事務(wù)處置的義務(wù)特性是事務(wù)處置的義務(wù)n 破壞事務(wù)破壞事務(wù)ACID特性的要素特性的要素n 多個事務(wù)并行運轉(zhuǎn)時,不同事務(wù)的操作交叉執(zhí)行多個事務(wù)并行運轉(zhuǎn)時,不同事務(wù)的操作交叉執(zhí)行n 事務(wù)在運轉(zhuǎn)過程中被強行停頓事務(wù)在運轉(zhuǎn)過程中被強行停頓事務(wù)是恢復(fù)和并發(fā)控制的根本單位。事務(wù)是恢復(fù)和并發(fā)控制的根本單位。7.2 數(shù)據(jù)庫恢復(fù)概述數(shù)據(jù)庫恢復(fù)概述缺點是不可

7、防止的缺點是不可防止的 計算機硬件缺點計算機硬件缺點 系統(tǒng)軟件和運用軟件的錯誤系統(tǒng)軟件和運用軟件的錯誤 操作員的失誤操作員的失誤 惡意的破壞惡意的破壞缺點的影響缺點的影響 運轉(zhuǎn)事務(wù)非正常中斷運轉(zhuǎn)事務(wù)非正常中斷 破壞數(shù)據(jù)庫破壞數(shù)據(jù)庫 數(shù)據(jù)庫管理系統(tǒng)必需具有把數(shù)據(jù)庫從錯誤形狀恢復(fù)到某一知的正確形狀的功能,這就是數(shù)據(jù)庫的恢復(fù)。數(shù)據(jù)庫管理系統(tǒng)對缺點的對策數(shù)據(jù)庫管理系統(tǒng)對缺點的對策 DBMS提供恢復(fù)子系統(tǒng)提供恢復(fù)子系統(tǒng) 保證缺點發(fā)生后,能把數(shù)據(jù)庫中的數(shù)據(jù)從錯誤形狀恢復(fù)到保證缺點發(fā)生后,能把數(shù)據(jù)庫中的數(shù)據(jù)從錯誤形狀恢復(fù)到某種邏輯一致的形狀某種邏輯一致的形狀 保證事務(wù)保證事務(wù)ACID恢復(fù)技術(shù)是衡量系統(tǒng)優(yōu)劣的

8、重要目的?;謴?fù)技術(shù)是衡量系統(tǒng)優(yōu)劣的重要目的。7.3 缺點的種類缺點的種類一、事務(wù)內(nèi)部的缺點一、事務(wù)內(nèi)部的缺點 某個事務(wù)在運轉(zhuǎn)過程中由于種種緣由未運轉(zhuǎn)至正某個事務(wù)在運轉(zhuǎn)過程中由于種種緣由未運轉(zhuǎn)至正常終止常終止事務(wù)缺點。數(shù)據(jù)庫能夠處于不一致形狀事務(wù)缺點。數(shù)據(jù)庫能夠處于不一致形狀事務(wù)缺點的常見緣由非預(yù)期的:事務(wù)缺點的常見緣由非預(yù)期的: 輸入數(shù)據(jù)有誤輸入數(shù)據(jù)有誤 運算溢出運算溢出 違反了某些完好性限制違反了某些完好性限制 某些運用程序出錯某些運用程序出錯 并行事務(wù)發(fā)生死鎖并行事務(wù)發(fā)生死鎖 事務(wù)缺點事務(wù)缺點經(jīng)過事務(wù)程序本身發(fā)現(xiàn)經(jīng)過事務(wù)程序本身發(fā)現(xiàn)(由程序本身處置由程序本身處置P249例例)非預(yù)期的,不能

9、由事務(wù)程序處置非預(yù)期的,不能由事務(wù)程序處置 發(fā)惹事務(wù)缺點時,該事務(wù)能夠已把對數(shù)據(jù)庫的部分修正寫回發(fā)惹事務(wù)缺點時,該事務(wù)能夠已把對數(shù)據(jù)庫的部分修正寫回磁盤。磁盤。事務(wù)缺點的恢復(fù):吊銷事務(wù)事務(wù)缺點的恢復(fù):吊銷事務(wù)UNDO。n 強行回滾強行回滾ROLLBACK該事務(wù)該事務(wù)n 去除該事務(wù)對數(shù)據(jù)庫的一切修正,使得這個事務(wù)象根本沒去除該事務(wù)對數(shù)據(jù)庫的一切修正,使得這個事務(wù)象根本沒有啟動過一樣有啟動過一樣二、系統(tǒng)缺點二、系統(tǒng)缺點 1. 系統(tǒng)缺點是指呵斥系統(tǒng)停頓運轉(zhuǎn)的任何事件,使得系統(tǒng)要重新啟動。n 整個系統(tǒng)的正常運轉(zhuǎn)忽然被破壞整個系統(tǒng)的正常運轉(zhuǎn)忽然被破壞n 一切正在運轉(zhuǎn)的事務(wù)都非正常終止一切正在運轉(zhuǎn)的事務(wù)都

10、非正常終止n 內(nèi)存中數(shù)據(jù)庫緩沖區(qū)的信息全部喪失內(nèi)存中數(shù)據(jù)庫緩沖區(qū)的信息全部喪失2. 系統(tǒng)缺點的常見緣由:系統(tǒng)缺點的常見緣由:n 操作系統(tǒng)或操作系統(tǒng)或DBMS代碼錯誤代碼錯誤n 操作員操作失誤操作員操作失誤n 特定類型的硬件錯誤如特定類型的硬件錯誤如CPU缺點缺點n 忽然停電忽然停電3. 系統(tǒng)缺點的恢復(fù):系統(tǒng)缺點的恢復(fù):n 去除尚未完成的事務(wù)對數(shù)據(jù)庫的一切修正去除尚未完成的事務(wù)對數(shù)據(jù)庫的一切修正n 系統(tǒng)重新啟動時,恢復(fù)程序要強行吊銷系統(tǒng)重新啟動時,恢復(fù)程序要強行吊銷UNDO一切一切未完成事務(wù)。未完成事務(wù)。n 將緩沖區(qū)中已完成事務(wù)提交的結(jié)果寫入數(shù)據(jù)庫將緩沖區(qū)中已完成事務(wù)提交的結(jié)果寫入數(shù)據(jù)庫n 系統(tǒng)

11、重新啟動時,恢復(fù)程序需求重做系統(tǒng)重新啟動時,恢復(fù)程序需求重做REDO一切一切已提交的事務(wù)。已提交的事務(wù)。三、介質(zhì)缺點三、介質(zhì)缺點 1. 介質(zhì)缺點稱為硬缺點。硬件缺點使存儲在外存中的數(shù)據(jù)部介質(zhì)缺點稱為硬缺點。硬件缺點使存儲在外存中的數(shù)據(jù)部分喪失或全部喪失。分喪失或全部喪失。介質(zhì)缺點比前兩類缺點介質(zhì)缺點比前兩類缺點的能夠性小得多,但破的能夠性小得多,但破壞性大得多。壞性大得多。2. 介質(zhì)缺點的常見緣由:介質(zhì)缺點的常見緣由:n 磁盤損壞磁盤損壞n 磁頭碰撞磁頭碰撞n 操作系統(tǒng)的某種潛在錯誤操作系統(tǒng)的某種潛在錯誤n 瞬時強磁場干擾瞬時強磁場干擾3. 介質(zhì)缺點的恢復(fù)介質(zhì)缺點的恢復(fù) 裝入數(shù)據(jù)庫發(fā)生介質(zhì)缺點

12、前某個時辰的數(shù)據(jù)副本裝入數(shù)據(jù)庫發(fā)生介質(zhì)缺點前某個時辰的數(shù)據(jù)副本 重做自此時始的一切勝利事務(wù),將這些事務(wù)已提交的結(jié)重做自此時始的一切勝利事務(wù),將這些事務(wù)已提交的結(jié)果重新記入數(shù)據(jù)庫果重新記入數(shù)據(jù)庫7.4 恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的實現(xiàn)技術(shù)恢復(fù)的根本原理非常簡單恢復(fù)的根本原理非常簡單冗余冗余恢復(fù)機制涉及的關(guān)鍵問題:恢復(fù)機制涉及的關(guān)鍵問題:1. 如何建立冗余數(shù)據(jù)如何建立冗余數(shù)據(jù) 數(shù)據(jù)轉(zhuǎn)儲數(shù)據(jù)轉(zhuǎn)儲backup 登錄日志文件登錄日志文件logging2. 如何利用這些冗余數(shù)據(jù)實施數(shù)據(jù)庫恢復(fù)如何利用這些冗余數(shù)據(jù)實施數(shù)據(jù)庫恢復(fù)建立冗余數(shù)據(jù)最常用的技術(shù)建立冗余數(shù)據(jù)最常用的技術(shù)數(shù)據(jù)轉(zhuǎn)儲數(shù)據(jù)轉(zhuǎn)儲登錄日志文件登錄日志文件7

13、.4.1 數(shù)據(jù)轉(zhuǎn)儲數(shù)據(jù)轉(zhuǎn)儲 轉(zhuǎn)儲是指轉(zhuǎn)儲是指DBA將整個數(shù)據(jù)庫復(fù)制到磁帶或另一個磁盤上保管將整個數(shù)據(jù)庫復(fù)制到磁帶或另一個磁盤上保管起來的過程。起來的過程。這些備用的數(shù)據(jù)文本稱為后備副本或后援副本。這些備用的數(shù)據(jù)文本稱為后備副本或后援副本。 缺點發(fā)生點缺點發(fā)生點 轉(zhuǎn)儲轉(zhuǎn)儲 運轉(zhuǎn)事務(wù)運轉(zhuǎn)事務(wù) 正常運轉(zhuǎn)正常運轉(zhuǎn) Ta Ta Tb TfTb Tf 重裝后備副本重裝后備副本 重新運轉(zhuǎn)事務(wù)重新運轉(zhuǎn)事務(wù)恢復(fù)恢復(fù) 得到副本得到副本圖圖7.1 轉(zhuǎn)儲和恢復(fù)轉(zhuǎn)儲和恢復(fù)闡明:闡明: 當(dāng)數(shù)據(jù)庫遭到破壞后可以將后備副本重新裝入,但重裝后當(dāng)數(shù)據(jù)庫遭到破壞后可以將后備副本重新裝入,但重裝后備副本只能將數(shù)據(jù)庫恢復(fù)到轉(zhuǎn)儲時的形狀

14、,要想恢復(fù)到缺點發(fā)備副本只能將數(shù)據(jù)庫恢復(fù)到轉(zhuǎn)儲時的形狀,要想恢復(fù)到缺點發(fā)生時的形狀,必需重新運轉(zhuǎn)自轉(zhuǎn)儲以后的一切更新事務(wù)。生時的形狀,必需重新運轉(zhuǎn)自轉(zhuǎn)儲以后的一切更新事務(wù)。 轉(zhuǎn)儲的方法轉(zhuǎn)儲的方法靜態(tài)轉(zhuǎn)儲靜態(tài)轉(zhuǎn)儲動態(tài)轉(zhuǎn)儲動態(tài)轉(zhuǎn)儲或轉(zhuǎn)儲的方法或轉(zhuǎn)儲的方法海量轉(zhuǎn)儲海量轉(zhuǎn)儲增量轉(zhuǎn)儲增量轉(zhuǎn)儲1. 靜態(tài)轉(zhuǎn)儲靜態(tài)轉(zhuǎn)儲定義:靜態(tài)轉(zhuǎn)儲是指在系統(tǒng)中無運轉(zhuǎn)事務(wù)時進(jìn)展轉(zhuǎn)儲。定義:靜態(tài)轉(zhuǎn)儲是指在系統(tǒng)中無運轉(zhuǎn)事務(wù)時進(jìn)展轉(zhuǎn)儲。闡明:闡明: 轉(zhuǎn)儲開場時數(shù)據(jù)庫處于一致性形狀轉(zhuǎn)儲開場時數(shù)據(jù)庫處于一致性形狀 轉(zhuǎn)儲期間不允許對數(shù)據(jù)庫的任何存取、修正活動轉(zhuǎn)儲期間不允許對數(shù)據(jù)庫的任何存取、修正活動優(yōu)點:實現(xiàn)簡單優(yōu)點:實現(xiàn)簡單缺陷:降低了

15、數(shù)據(jù)庫的可用性缺陷:降低了數(shù)據(jù)庫的可用性 轉(zhuǎn)儲必需等用戶事務(wù)終了轉(zhuǎn)儲必需等用戶事務(wù)終了 新的事務(wù)必需等轉(zhuǎn)儲終了新的事務(wù)必需等轉(zhuǎn)儲終了 缺點發(fā)生點缺點發(fā)生點 靜態(tài)轉(zhuǎn)儲靜態(tài)轉(zhuǎn)儲 運轉(zhuǎn)事務(wù)運轉(zhuǎn)事務(wù) 正常運轉(zhuǎn)正常運轉(zhuǎn) Ta Ta Tb TfTb Tf 重裝后備副本重裝后備副本 恢復(fù)恢復(fù) 利用靜態(tài)復(fù)本進(jìn)展數(shù)據(jù)庫恢復(fù)利用靜態(tài)復(fù)本進(jìn)展數(shù)據(jù)庫恢復(fù)2. 動態(tài)轉(zhuǎn)儲動態(tài)轉(zhuǎn)儲定義:動態(tài)轉(zhuǎn)儲是指轉(zhuǎn)儲期間允許數(shù)據(jù)庫進(jìn)展存取或修正。定義:動態(tài)轉(zhuǎn)儲是指轉(zhuǎn)儲期間允許數(shù)據(jù)庫進(jì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)展存取或修正 轉(zhuǎn)儲

16、終了時后援副本上的數(shù)據(jù)并不能保證正確有效轉(zhuǎn)儲終了時后援副本上的數(shù)據(jù)并不能保證正確有效優(yōu)點:優(yōu)點: 不用等待正在運轉(zhuǎn)的用戶事務(wù)終了不用等待正在運轉(zhuǎn)的用戶事務(wù)終了 不會影響新事務(wù)的運轉(zhuǎn)不會影響新事務(wù)的運轉(zhuǎn)缺陷:不能保證副本中的數(shù)據(jù)正確有效缺陷:不能保證副本中的數(shù)據(jù)正確有效 Ta Ta Tb TfTb Tf 動 態(tài) 轉(zhuǎn) 儲動 態(tài) 轉(zhuǎn) 儲 運 轉(zhuǎn) 事 務(wù)運 轉(zhuǎn) 事 務(wù) 缺點發(fā)生點缺點發(fā)生點正常運轉(zhuǎn)正常運轉(zhuǎn) 登記日志文件登記日志文件 登記新日志文件登記新日志文件 轉(zhuǎn)儲日志文件轉(zhuǎn)儲日志文件 重裝后備副本,然后利用轉(zhuǎn)儲的日志文件恢復(fù)重裝后備副本,然后利用轉(zhuǎn)儲的日志文件恢復(fù)恢復(fù)到一恢復(fù)到一 致性形狀致性形狀利

17、用動態(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ù)到某一時辰的正確形狀形狀3. 海量轉(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ù)往往從恢復(fù)角度看,

18、運用海量轉(zhuǎn)儲得到的后備副本進(jìn)展恢復(fù)往往更方便更方便 但假設(shè)數(shù)據(jù)庫很大,事務(wù)處置又非常頻繁,那么增量轉(zhuǎn)儲方但假設(shè)數(shù)據(jù)庫很大,事務(wù)處置又非常頻繁,那么增量轉(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)儲方式方式海量轉(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)儲7.4.2 登記日志文件登記日志文件Logging1. 定義:定義:日志文件日志文件(log)是用來記錄事務(wù)對數(shù)據(jù)庫的更新操作的文件。是用來記錄事務(wù)對數(shù)據(jù)庫的更新操作的文件。2. 日志文件的格式:日志文件的格式: 以記錄為

19、單位的日志文件以記錄為單位的日志文件 以數(shù)據(jù)塊為單位的日志文件以數(shù)據(jù)塊為單位的日志文件一、日志文件的格式和內(nèi)容一、日志文件的格式和內(nèi)容3. 日志文件內(nèi)容日志文件內(nèi)容 各個事務(wù)的開場標(biāo)志各個事務(wù)的開場標(biāo)志(BEGIN TRANSACTION) 各個事務(wù)的終了標(biāo)志各個事務(wù)的終了標(biāo)志(COMMIT或或ROLLBACK) 各個事務(wù)的一切更新操作各個事務(wù)的一切更新操作 注:每個事務(wù)開場的標(biāo)志、每個事務(wù)的終了標(biāo)志和每個更新操作均作為日志文件中的一個記錄(log record)4. 每條日志記錄的內(nèi)容每條日志記錄的內(nèi)容 事務(wù)標(biāo)識事務(wù)標(biāo)識 操作類型插入、刪除或修正操作類型插入、刪除或修正 操作對象記錄操作對象

20、記錄ID、Block NO. 更新前數(shù)據(jù)的舊值對插入操作而言,此項為空值更新前數(shù)據(jù)的舊值對插入操作而言,此項為空值 更新后數(shù)據(jù)的新值對刪除操作而言更新后數(shù)據(jù)的新值對刪除操作而言, 此項為空值此項為空值二、日志文件的作用:二、日志文件的作用: 日志文件的可以用來進(jìn)展事務(wù)缺點恢復(fù)和系統(tǒng)缺點恢復(fù),并日志文件的可以用來進(jìn)展事務(wù)缺點恢復(fù)和系統(tǒng)缺點恢復(fù),并協(xié)助后備副本進(jìn)展介質(zhì)缺點的恢復(fù)。協(xié)助后備副本進(jìn)展介質(zhì)缺點的恢復(fù)。 與靜態(tài)轉(zhuǎn)儲后備副本配合進(jìn)展介質(zhì)缺點恢復(fù)與靜態(tài)轉(zhuǎn)儲后備副本配合進(jìn)展介質(zhì)缺點恢復(fù) 靜態(tài)轉(zhuǎn)儲的數(shù)據(jù)已是一致性的數(shù)據(jù)。靜態(tài)轉(zhuǎn)儲的數(shù)據(jù)已是一致性的數(shù)據(jù)。 假設(shè)靜態(tài)轉(zhuǎn)儲完成后,仍能定期轉(zhuǎn)儲日志文件,那

21、么在出現(xiàn)介假設(shè)靜態(tài)轉(zhuǎn)儲完成后,仍能定期轉(zhuǎn)儲日志文件,那么在出現(xiàn)介質(zhì)缺點重裝數(shù)據(jù)副本后,可以利用這些日志文件副本對已完成質(zhì)缺點重裝數(shù)據(jù)副本后,可以利用這些日志文件副本對已完成的事務(wù)進(jìn)展重做處置。的事務(wù)進(jìn)展重做處置。 這樣不用重新運轉(zhuǎn)那些已完成的事務(wù)程序就可把數(shù)據(jù)庫恢復(fù)到這樣不用重新運轉(zhuǎn)那些已完成的事務(wù)程序就可把數(shù)據(jù)庫恢復(fù)到缺點前某一時辰的正確形狀。缺點前某一時辰的正確形狀。 缺點發(fā)生點缺點發(fā)生點 靜態(tài)轉(zhuǎn)儲靜態(tài)轉(zhuǎn)儲 運轉(zhuǎn)事務(wù)運轉(zhuǎn)事務(wù) 正常運轉(zhuǎn)正常運轉(zhuǎn) Ta Ta Tb TfTb Tf 登記日志文件登記日志文件 重裝后備副本重裝后備副本 利用日志文件恢復(fù)事務(wù)利用日志文件恢復(fù)事務(wù) 繼續(xù)運轉(zhuǎn)繼續(xù)運轉(zhuǎn)介質(zhì)

22、缺點恢復(fù)介質(zhì)缺點恢復(fù) 登記日志文件登記日志文件 三、登記日志文件三、登記日志文件 登記日志文件時必需遵照兩條原那么:登記日志文件時必需遵照兩條原那么:n 登記的次序嚴(yán)厲按并行事務(wù)執(zhí)行的時間次序登記的次序嚴(yán)厲按并行事務(wù)執(zhí)行的時間次序n 必需先寫日志文件,后寫數(shù)據(jù)庫必需先寫日志文件,后寫數(shù)據(jù)庫n 寫日志文件操作:把表示這個修正的日志記錄寫到日志文件寫日志文件操作:把表示這個修正的日志記錄寫到日志文件n 寫數(shù)據(jù)庫操作:把對數(shù)據(jù)的修正寫到數(shù)據(jù)庫中寫數(shù)據(jù)庫操作:把對數(shù)據(jù)的修正寫到數(shù)據(jù)庫中為什么要先寫日志文件?為什么要先寫日志文件?n 寫數(shù)據(jù)庫和寫日志文件是兩個不同的操作寫數(shù)據(jù)庫和寫日志文件是兩個不同的操

23、作n 在這兩個操作之間能夠發(fā)生缺點在這兩個操作之間能夠發(fā)生缺點n 假設(shè)先寫了數(shù)據(jù)庫修正,而在日志文件中沒有登記下這假設(shè)先寫了數(shù)據(jù)庫修正,而在日志文件中沒有登記下這個修正,那么以后就無法恢復(fù)這個修正了個修正,那么以后就無法恢復(fù)這個修正了n 假設(shè)先寫日志,但沒有修正數(shù)據(jù)庫,按日志文件恢復(fù)時假設(shè)先寫日志,但沒有修正數(shù)據(jù)庫,按日志文件恢復(fù)時只不過是多執(zhí)行一次不用要的只不過是多執(zhí)行一次不用要的UNDO操作,并不會影響數(shù)操作,并不會影響數(shù)據(jù)庫的正確性據(jù)庫的正確性7.5 恢復(fù)戰(zhàn)略恢復(fù)戰(zhàn)略不同缺點其恢復(fù)戰(zhàn)略和方法也不一樣。不同缺點其恢復(fù)戰(zhàn)略和方法也不一樣。7.5.1 事務(wù)缺點的恢復(fù)事務(wù)缺點的恢復(fù)1. 事務(wù)缺點

24、:事務(wù)在運轉(zhuǎn)至正常終止點前被中止事務(wù)缺點:事務(wù)在運轉(zhuǎn)至正常終止點前被中止2. 恢復(fù)方法恢復(fù)方法: 由恢復(fù)子系統(tǒng)應(yīng)利用日志文件吊銷由恢復(fù)子系統(tǒng)應(yīng)利用日志文件吊銷UNDO此事務(wù)已此事務(wù)已對數(shù)據(jù)庫進(jìn)展的修正。對數(shù)據(jù)庫進(jìn)展的修正。3.事務(wù)缺點的恢復(fù)由系統(tǒng)自動完成,不需求用戶干涉。事務(wù)缺點的恢復(fù)由系統(tǒng)自動完成,不需求用戶干涉。4. 事務(wù)缺點的恢復(fù)步驟:事務(wù)缺點的恢復(fù)步驟:1反向掃描文件日志即從最后向前掃描日志文件,反向掃描文件日志即從最后向前掃描日志文件,查找該事務(wù)的更新操作。查找該事務(wù)的更新操作。2對該事務(wù)的更新操作執(zhí)行逆操作。即將日志記錄中對該事務(wù)的更新操作執(zhí)行逆操作。即將日志記錄中“更更新前的值新

25、前的值Befor Image, BI寫入數(shù)據(jù)庫。寫入數(shù)據(jù)庫。 插入操作,插入操作, “更新前的值為空,那么相當(dāng)于做刪除操作更新前的值為空,那么相當(dāng)于做刪除操作 刪除操作,刪除操作,“更新后的值為空,那么相當(dāng)于做插入操作更新后的值為空,那么相當(dāng)于做插入操作 假設(shè)是修正操作,那么用假設(shè)是修正操作,那么用BI 替代替代 AIAfter Image3繼續(xù)反向掃描日志文件,查找該事務(wù)的其他更新操作,繼續(xù)反向掃描日志文件,查找該事務(wù)的其他更新操作,并做同樣處置。并做同樣處置。4如此處置下去,直至讀到此事務(wù)的開場標(biāo)志,事務(wù)缺如此處置下去,直至讀到此事務(wù)的開場標(biāo)志,事務(wù)缺點恢復(fù)就完成了。點恢復(fù)就完成了。7.5

26、.2 系統(tǒng)缺點的恢復(fù)系統(tǒng)缺點的恢復(fù)1.系統(tǒng)缺點呵斥數(shù)據(jù)庫不一致形狀的緣由系統(tǒng)缺點呵斥數(shù)據(jù)庫不一致形狀的緣由:n 一些未完成事務(wù)對數(shù)據(jù)庫的更新已寫入數(shù)據(jù)庫一些未完成事務(wù)對數(shù)據(jù)庫的更新已寫入數(shù)據(jù)庫n 一些已提交事務(wù)對數(shù)據(jù)庫的更新還留在緩沖區(qū)沒來得及一些已提交事務(wù)對數(shù)據(jù)庫的更新還留在緩沖區(qū)沒來得及寫入數(shù)據(jù)庫寫入數(shù)據(jù)庫2.恢復(fù)方法恢復(fù)方法:n Undo 缺點發(fā)生時未完成的事務(wù)n Redo 已完成的事務(wù)3. 闡明:闡明: 系統(tǒng)缺點的恢復(fù)由系統(tǒng)在重新啟動時自動完成,不需求用系統(tǒng)缺點的恢復(fù)由系統(tǒng)在重新啟動時自動完成,不需求用戶干涉。戶干涉。4. 系統(tǒng)缺點恢復(fù)的步驟:系統(tǒng)缺點恢復(fù)的步驟:1正向掃描日志文件即從

27、頭掃描日志文件,找出缺點正向掃描日志文件即從頭掃描日志文件,找出缺點發(fā)生前曾經(jīng)提交的事務(wù),同時找出缺點發(fā)生時髦未完成的事發(fā)生前曾經(jīng)提交的事務(wù),同時找出缺點發(fā)生時髦未完成的事務(wù)。務(wù)。 Redo隊列隊列: 在缺點發(fā)生前曾經(jīng)提交的事務(wù)在缺點發(fā)生前曾經(jīng)提交的事務(wù) T1, T3, T8. Undo隊列隊列:缺點發(fā)生時髦未完成的事務(wù)缺點發(fā)生時髦未完成的事務(wù) T2, T4, T5, T6, T7, T9 .2對對Undo隊列事務(wù)進(jìn)展隊列事務(wù)進(jìn)展UNDO處置處置 反向掃描日志文件,對每個反向掃描日志文件,對每個UNDO事務(wù)的更新操作執(zhí)行事務(wù)的更新操作執(zhí)行逆操作:逆操作:T2, T4, T5, T6, T7,

28、T9 3對對Redo隊列事務(wù)進(jìn)展隊列事務(wù)進(jìn)展REDO處置處置 正向掃描日志文件,對每個正向掃描日志文件,對每個REDO事務(wù)重新執(zhí)行日志文件事務(wù)重新執(zhí)行日志文件登記的操作:登記的操作: T1, T3, T8.7.5.3 介質(zhì)缺點的恢復(fù)介質(zhì)缺點的恢復(fù)1. 裝入最新的后備數(shù)據(jù)庫副本,使數(shù)據(jù)庫恢復(fù)到最近一次轉(zhuǎn)裝入最新的后備數(shù)據(jù)庫副本,使數(shù)據(jù)庫恢復(fù)到最近一次轉(zhuǎn)儲時的一致性形狀。儲時的一致性形狀。 對于靜態(tài)轉(zhuǎn)儲的數(shù)據(jù)庫副本,裝入后數(shù)據(jù)庫即處于一致性形對于靜態(tài)轉(zhuǎn)儲的數(shù)據(jù)庫副本,裝入后數(shù)據(jù)庫即處于一致性形狀狀 對于動態(tài)轉(zhuǎn)儲的數(shù)據(jù)庫副本,還須同時裝入轉(zhuǎn)儲時辰的日志對于動態(tài)轉(zhuǎn)儲的數(shù)據(jù)庫副本,還須同時裝入轉(zhuǎn)儲時辰的

29、日志文件副本,利用與恢復(fù)系統(tǒng)缺點一樣的方法即文件副本,利用與恢復(fù)系統(tǒng)缺點一樣的方法即REDO+UNDO,才干將數(shù)據(jù)庫恢復(fù)到一致性形狀。,才干將數(shù)據(jù)庫恢復(fù)到一致性形狀。 缺點發(fā)生點缺點發(fā)生點 靜態(tài)轉(zhuǎn)儲靜態(tài)轉(zhuǎn)儲 運轉(zhuǎn)事務(wù)運轉(zhuǎn)事務(wù) 正常運轉(zhuǎn)正常運轉(zhuǎn) Ta Ta Tb TfTb Tf 登記日志文件登記日志文件 重裝后備副本重裝后備副本 恢復(fù)恢復(fù) 利用靜態(tài)轉(zhuǎn)儲副本將數(shù)據(jù)庫恢復(fù)到一致性形狀利用靜態(tài)轉(zhuǎn)儲副本將數(shù)據(jù)庫恢復(fù)到一致性形狀 Ta Ta Tb TfTb Tf 動 態(tài) 轉(zhuǎn) 儲動 態(tài) 轉(zhuǎn) 儲 運 轉(zhuǎn) 事 務(wù)運 轉(zhuǎn) 事 務(wù) 缺點發(fā)生點缺點發(fā)生點正常運轉(zhuǎn)正常運轉(zhuǎn) 登記日志文件登記日志文件 登記新日志文件登記新

30、日志文件 轉(zhuǎn)儲日志文件轉(zhuǎn)儲日志文件 重裝后備副本,然后利用轉(zhuǎn)儲的日志文件恢復(fù)重裝后備副本,然后利用轉(zhuǎn)儲的日志文件恢復(fù)恢復(fù)到一恢復(fù)到一 致性形狀致性形狀利用動態(tài)轉(zhuǎn)儲副本將數(shù)據(jù)庫恢復(fù)到一致性形狀利用動態(tài)轉(zhuǎn)儲副本將數(shù)據(jù)庫恢復(fù)到一致性形狀2. 裝入有關(guān)的日志文件副本,重做已完成的事務(wù)。裝入有關(guān)的日志文件副本,重做已完成的事務(wù)。 首先掃描日志文件,找出缺點發(fā)生時已提交的事務(wù)的標(biāo)識,首先掃描日志文件,找出缺點發(fā)生時已提交的事務(wù)的標(biāo)識,將其記入重做隊列。將其記入重做隊列。 然后正向掃描日志文件,對重做隊列中的一切事務(wù)進(jìn)展重做然后正向掃描日志文件,對重做隊列中的一切事務(wù)進(jìn)展重做處置。即將日志記錄中處置。即將日

31、志記錄中“更新后的值寫入數(shù)據(jù)庫。更新后的值寫入數(shù)據(jù)庫。闡明:闡明:介質(zhì)缺點的恢復(fù)需求介質(zhì)缺點的恢復(fù)需求DBA介入介入DBA的任務(wù)的任務(wù)重裝最近轉(zhuǎn)儲的數(shù)據(jù)庫副本和有關(guān)的各日志文件副本重裝最近轉(zhuǎn)儲的數(shù)據(jù)庫副本和有關(guān)的各日志文件副本執(zhí)行系統(tǒng)提供的恢復(fù)命令執(zhí)行系統(tǒng)提供的恢復(fù)命令詳細(xì)的恢復(fù)操作仍由詳細(xì)的恢復(fù)操作仍由DBMS完成完成7.6 具有檢查點的恢復(fù)技術(shù)具有檢查點的恢復(fù)技術(shù)一、問題的提出一、問題的提出兩個問題:兩個問題: 搜索整個日志將耗費大量的時間搜索整個日志將耗費大量的時間 REDO處置:重新執(zhí)行,浪費了大量時間處置:重新執(zhí)行,浪費了大量時間二、處理方案二、處理方案具有檢查點具有檢查點check

32、point的恢復(fù)技術(shù)的恢復(fù)技術(shù) 在日志文件中添加檢查點記錄在日志文件中添加檢查點記錄checkpoint 添加重新開場文件添加重新開場文件 恢復(fù)子系統(tǒng)在登錄日志文件期間動態(tài)地維護(hù)日志恢復(fù)子系統(tǒng)在登錄日志文件期間動態(tài)地維護(hù)日志三、檢查點技術(shù)三、檢查點技術(shù)1.檢查點記錄的內(nèi)容檢查點記錄的內(nèi)容 建立檢查點時辰一切正在執(zhí)行的事務(wù)清單建立檢查點時辰一切正在執(zhí)行的事務(wù)清單 這些事務(wù)最近一個日志記錄的地址這些事務(wù)最近一個日志記錄的地址重新開場文件用來記錄各個檢查點記錄在日志文件中的地址重新開場文件用來記錄各個檢查點記錄在日志文件中的地址2. 動態(tài)維護(hù)日志文件的方法是周期性地執(zhí)行如下操作:建立動態(tài)維護(hù)日志文件

33、的方法是周期性地執(zhí)行如下操作:建立檢查點,保管數(shù)據(jù)庫形狀。詳細(xì)步驟是:檢查點,保管數(shù)據(jù)庫形狀。詳細(xì)步驟是:1將當(dāng)前日志緩沖區(qū)中的一切日志記錄寫入磁盤的日志將當(dāng)前日志緩沖區(qū)中的一切日志記錄寫入磁盤的日志文件上。文件上。2在日志文件中寫入一個檢查點記錄。在日志文件中寫入一個檢查點記錄。3將當(dāng)前數(shù)據(jù)緩沖區(qū)的一切數(shù)據(jù)記錄寫入磁盤的數(shù)據(jù)庫中。將當(dāng)前數(shù)據(jù)緩沖區(qū)的一切數(shù)據(jù)記錄寫入磁盤的數(shù)據(jù)庫中。4把檢查點記錄在日志文件中的地址寫入一個重新開場文把檢查點記錄在日志文件中的地址寫入一個重新開場文件。件。四、利用檢查點的恢復(fù)戰(zhàn)略四、利用檢查點的恢復(fù)戰(zhàn)略n 當(dāng)事務(wù)當(dāng)事務(wù)T在一個檢查點之前提交,在一個檢查點之前提交,

34、T對數(shù)據(jù)庫所做的修正對數(shù)據(jù)庫所做的修正已寫入數(shù)據(jù)庫已寫入數(shù)據(jù)庫n 在進(jìn)展恢復(fù)處置時,沒有必要對事務(wù)在進(jìn)展恢復(fù)處置時,沒有必要對事務(wù)T執(zhí)行執(zhí)行REDO操作操作 系統(tǒng)出現(xiàn)缺點時恢復(fù)子系統(tǒng)將根據(jù)事務(wù)的不同形狀采取不同的恢復(fù)戰(zhàn)略。T1Tc (檢查點檢查點)Tf(系統(tǒng)缺點系統(tǒng)缺點) REDOUNDOUNDO REDOT2T3T4T5不要不要REDO在檢查點在檢查點之前提交之前提交T2在檢查點之后在檢查點之后缺點點之前提交缺點點之前提交T3在缺點點在缺點點時還未完成時還未完成T4在缺點點在缺點點之前提交之前提交T5在缺點點在缺點點時還未完成時還未完成利用檢查點方法進(jìn)展恢復(fù)的步驟:利用檢查點方法進(jìn)展恢復(fù)的步

35、驟:2. 由該檢查點記錄得到檢查點建立時辰一切正在執(zhí)行的事務(wù)由該檢查點記錄得到檢查點建立時辰一切正在執(zhí)行的事務(wù)清單清單ACTIVE-LIST。n 建立兩個事務(wù)隊列建立兩個事務(wù)隊列n UNDO-LIST n REDO-LIST n 把把ACTIVE-LIST暫時放入暫時放入UNDO-LIST隊列,隊列,REDO隊隊列暫為空。列暫為空。 如有新開場的事務(wù)如有新開場的事務(wù)Ti,把,把Ti暫時放入暫時放入UNDO-LIST隊列隊列 如有提交的事務(wù)如有提交的事務(wù)Tj,把,把Tj從從UNDO-LIST隊列移到隊列移到REDO-LIST隊列隊列3. 從檢查點開場正向掃描日志文件,直到日志文件終了從檢查點開場

36、正向掃描日志文件,直到日志文件終了1.從重新開場文件中找到最后一個檢查點記錄在日志文件中從重新開場文件中找到最后一個檢查點記錄在日志文件中的地址,由該地址在日志文件中找到最后一個檢查點記錄。的地址,由該地址在日志文件中找到最后一個檢查點記錄。4. 對對UNDO-LIST中的每個事務(wù)執(zhí)行中的每個事務(wù)執(zhí)行UNDO操作操作, 對對REDO-LIST中的每個事務(wù)執(zhí)行中的每個事務(wù)執(zhí)行REDO操作。操作。7.7 數(shù)據(jù)庫鏡像數(shù)據(jù)庫鏡像 介質(zhì)缺點是對系統(tǒng)影響最為嚴(yán)重的一種缺點,介質(zhì)缺點是對系統(tǒng)影響最為嚴(yán)重的一種缺點,嚴(yán)重影響數(shù)據(jù)庫的可用性:嚴(yán)重影響數(shù)據(jù)庫的可用性:n 介質(zhì)缺點恢復(fù)比較費時介質(zhì)缺點恢復(fù)比較費時n 為預(yù)防介質(zhì)缺點,為預(yù)防

溫馨提示

  • 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

提交評論