版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第第10章章 數(shù)據(jù)庫的恢復技術數(shù)據(jù)庫的恢復技術10.1 事務的基本概念事務的基本概念10.2 數(shù)據(jù)庫恢復概述數(shù)據(jù)庫恢復概述10.3 故障的種類故障的種類10.4 恢復的實現(xiàn)技術恢復的實現(xiàn)技術10.5 恢復策略恢復策略10.6 具有檢查點的恢復技術具有檢查點的恢復技術10.7 數(shù)據(jù)庫鏡像數(shù)據(jù)庫鏡像10.8 小結小結 數(shù)據(jù)庫的定義:數(shù)據(jù)庫的定義: 數(shù)據(jù)庫被破壞的原因,可歸納為:數(shù)據(jù)庫被破壞的原因,可歸納為: 軟硬件故障,造成數(shù)據(jù)被破壞。軟硬件故障,造成數(shù)據(jù)被破壞。 數(shù)據(jù)庫的并發(fā)操作引起數(shù)據(jù)的不一致性。數(shù)據(jù)庫的并發(fā)操作引起數(shù)據(jù)的不一致性。 自然或人為地破壞,如失火、失竊、病毒和自然或人為地破壞,如失
2、火、失竊、病毒和為授權人的有意纂改數(shù)據(jù)。為授權人的有意纂改數(shù)據(jù)。 對數(shù)據(jù)庫數(shù)據(jù)的更新操作有誤,如操作時輸對數(shù)據(jù)庫數(shù)據(jù)的更新操作有誤,如操作時輸入錯誤的數(shù)據(jù)或存取數(shù)據(jù)庫的程序有錯等等。入錯誤的數(shù)據(jù)或存取數(shù)據(jù)庫的程序有錯等等。針對這四類問題,一般針對這四類問題,一般dbms提供了相應的功能:提供了相應的功能: 安全性保護:安全性保護:保護數(shù)據(jù)庫防止惡意的破壞和非法保護數(shù)據(jù)庫防止惡意的破壞和非法的存取,防范對象:非法用戶和非法操作。的存取,防范對象:非法用戶和非法操作。 完整性保護:完整性保護:防止數(shù)據(jù)庫中存在不符合語義的數(shù)防止數(shù)據(jù)庫中存在不符合語義的數(shù)據(jù),也就是防止數(shù)據(jù)庫中存在不正確的數(shù)據(jù)。據(jù),也
3、就是防止數(shù)據(jù)庫中存在不正確的數(shù)據(jù)。防范對象:不合語義的、不正確的數(shù)據(jù)防范對象:不合語義的、不正確的數(shù)據(jù) (實體,參照)實體,參照) 數(shù)據(jù)庫恢復:即系統(tǒng)失效后的數(shù)據(jù)庫恢復,配合定數(shù)據(jù)庫恢復:即系統(tǒng)失效后的數(shù)據(jù)庫恢復,配合定時備份數(shù)據(jù)庫,使數(shù)據(jù)庫不丟失數(shù)據(jù)。時備份數(shù)據(jù)庫,使數(shù)據(jù)庫不丟失數(shù)據(jù)。 并發(fā)控制:即保證多用戶能共享數(shù)據(jù)庫,并維護數(shù)并發(fā)控制:即保證多用戶能共享數(shù)據(jù)庫,并維護數(shù)據(jù)的一致性。據(jù)的一致性。 10.1 10.1 事務的基本概念事務的基本概念10.1.1 10.1.1 事務的定義事務的定義1.1.什么是事務什么是事務n事務事務是是由用戶定義的一組操作序列,這些操作要么都做,由用戶定義的一
4、組操作序列,這些操作要么都做,要么都不做,是一個不可分割的工作單位要么都不做,是一個不可分割的工作單位, ,是恢復和并發(fā)是恢復和并發(fā)控制的基本單位控制的基本單位. .n是一種機制,它確保多個是一種機制,它確保多個sqlsql語句被當作語句被當作單個工作單元單個工作單元來來處理處理2 2 . .事務和程序是兩個概念事務和程序是兩個概念n在關系數(shù)據(jù)庫中,一個事務可以是一條在關系數(shù)據(jù)庫中,一個事務可以是一條sqlsql語句,一組語句,一組sqlsql語句或整個程序語句或整個程序n一個應用程序通常包含多個事務一個應用程序通常包含多個事務3 3 . .定義事務定義事務n隱式方式隱式方式當用戶沒有顯式地定
5、義事務時,當用戶沒有顯式地定義事務時,dbms按缺省規(guī)定自動劃分事務按缺省規(guī)定自動劃分事務n顯式定義方式顯式定義方式 n事務的事務的開始開始與與結束結束由用戶顯式控制。定義事務的語句由用戶顯式控制。定義事務的語句有三條:有三條:n begin transactionbegin transaction sql sql 語句語句 . commit commit rollback rollbacknbegin transactionbegin transaction表示事務的開始;表示事務的開始;ncommitcommit表示事務的提交表示事務的提交 (事務正常結束事務正常結束 提交提交事務的所有操
6、作事務的所有操作(讀讀+ +更新更新),事務中所有事務中所有對數(shù)據(jù)庫的更新寫回到磁盤上的物理數(shù)據(jù)庫中去,對數(shù)據(jù)庫的更新寫回到磁盤上的物理數(shù)據(jù)庫中去, 事務中所有對數(shù)據(jù)庫的更新事務中所有對數(shù)據(jù)庫的更新永久永久生效)生效)rollbackrollback表示事務的回滾,即在事務運行的過程中發(fā)生表示事務的回滾,即在事務運行的過程中發(fā)生了某種故障,事務不能繼續(xù)執(zhí)行,系統(tǒng)將事務中對數(shù)據(jù)了某種故障,事務不能繼續(xù)執(zhí)行,系統(tǒng)將事務中對數(shù)據(jù)庫的所有已完成的庫的所有已完成的更新操作更新操作全部撤銷,再回滾到事務開全部撤銷,再回滾到事務開始時的狀態(tài)始時的狀態(tài)。n事務異常終止事務異常終止n事務運行的過程中發(fā)生了故障,
7、不能繼續(xù)執(zhí)行事務運行的過程中發(fā)生了故障,不能繼續(xù)執(zhí)行n回滾事務的所有回滾事務的所有更新更新操作,所有已完成的操作,所有已完成的更新操作更新操作全部撤銷全部撤銷n事務滾回到事務滾回到開始開始時的狀態(tài)時的狀態(tài)10.1.2 10.1.2 事務的特征事務的特征n事務是由有限的數(shù)據(jù)庫操作序列組成,但并不是任意的數(shù)據(jù)事務是由有限的數(shù)據(jù)庫操作序列組成,但并不是任意的數(shù)據(jù)庫操作序列都能成為事務,為了保護數(shù)據(jù)的完整性,一般要庫操作序列都能成為事務,為了保護數(shù)據(jù)的完整性,一般要求事務具有以下四個特征:原子性求事務具有以下四個特征:原子性 一致性一致性 隔離性隔離性 持久性持久性 acidacid準則準則1 1原子
8、性(原子性(atomicatomic)n一個事務是一個不可分割的工作單位,事務在執(zhí)行時,應該一個事務是一個不可分割的工作單位,事務在執(zhí)行時,應該遵守遵守“要么不做,要么全做要么不做,要么全做”(nothing or allnothing or all)的原則,)的原則,即不允許事務部分的完成。即不允許事務部分的完成。n如果事務因故障沒有完成,則該事務已做的操作認為是無效如果事務因故障沒有完成,則該事務已做的操作認為是無效的,在恢復時必須取消該事務對數(shù)據(jù)庫的影響的,在恢復時必須取消該事務對數(shù)據(jù)庫的影響n保證原子性的思路:對于要執(zhí)行寫操作的數(shù)據(jù)項,在磁盤上保證原子性的思路:對于要執(zhí)行寫操作的數(shù)據(jù)項
9、,在磁盤上記錄其舊值,若事務沒能完成執(zhí)行,舊值將被恢復,好像事記錄其舊值,若事務沒能完成執(zhí)行,舊值將被恢復,好像事務從未執(zhí)行務從未執(zhí)行n保證原子性是保證原子性是dbmsdbms本身的責任,由本身的責任,由“事務管理部件事務管理部件”處理。處理。2 2一致性(一致性(consistencyconsistency)n事務對數(shù)據(jù)庫的作用是數(shù)據(jù)庫從一個一致狀態(tài)轉(zhuǎn)變到事務對數(shù)據(jù)庫的作用是數(shù)據(jù)庫從一個一致狀態(tài)轉(zhuǎn)變到另一個一致狀態(tài)。另一個一致狀態(tài)。n所謂數(shù)據(jù)庫的一致狀態(tài)是指數(shù)據(jù)庫中的數(shù)據(jù)滿足完整所謂數(shù)據(jù)庫的一致狀態(tài)是指數(shù)據(jù)庫中的數(shù)據(jù)滿足完整性約束。性約束。n例如,銀行企業(yè)中,例如,銀行企業(yè)中,“從帳號從帳號
10、a a轉(zhuǎn)移資金額轉(zhuǎn)移資金額r r到帳到帳號號b”b”是一個典型的事務,這個事務包括兩個操是一個典型的事務,這個事務包括兩個操作,從帳號作,從帳號a a中減去資金額中減去資金額r r和在帳號和在帳號b b中增加資中增加資金額金額r r。n定義一個事務,該事務包括兩個操作定義一個事務,該事務包括兩個操作n這兩個操作要么全做,要么全不做這兩個操作要么全做,要么全不做n全做或者全不做,數(shù)據(jù)庫都處于一致性狀態(tài)。全做或者全不做,數(shù)據(jù)庫都處于一致性狀態(tài)。n如果只做一個操作,數(shù)據(jù)庫就處于不一致性狀態(tài)如果只做一個操作,數(shù)據(jù)庫就處于不一致性狀態(tài)。 可見事務的一致性與原子性是密切相關的。可見事務的一致性與原子性是密
11、切相關的。n確保單個事務的一致性是對該事務編碼的應用,確保單個事務的一致性是對該事務編碼的應用,程序程序員的責任。員的責任。3 3隔離性(隔離性(isolationisolation)n一個事務的執(zhí)行不能被其它事務干擾。一個事務的執(zhí)行不能被其它事務干擾。n如果多個事務并發(fā)地執(zhí)行,應像各個事務獨立執(zhí)如果多個事務并發(fā)地執(zhí)行,應像各個事務獨立執(zhí)行一樣。行一樣。事務事務并發(fā)執(zhí)行的并發(fā)執(zhí)行的結果和結果和某一串行執(zhí)行某一串行執(zhí)行的的結果相同結果相同。n事務并發(fā)執(zhí)行的相對獨立性,這是事務并發(fā)控制事務并發(fā)執(zhí)行的相對獨立性,這是事務并發(fā)控制的目標。的目標。n并發(fā)控制就是為了保證事務間的隔離性并發(fā)控制就是為了保證
12、事務間的隔離性n隔離性保證:多個事務并發(fā)執(zhí)行的結果和某一串隔離性保證:多個事務并發(fā)執(zhí)行的結果和某一串行執(zhí)行的結果相同行執(zhí)行的結果相同t1的修改被的修改被t2覆蓋了覆蓋了!讀讀a=16aa-3寫回寫回a=13讀讀a=16aa-1寫回寫回a=15t2t14 4持久性(持久性(durabilitydurability)n指一個事務一旦提交,它對數(shù)據(jù)庫中數(shù)指一個事務一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就應該是持久的,即使數(shù)據(jù)庫據(jù)的改變就應該是持久的,即使數(shù)據(jù)庫因故障而受到破壞,因故障而受到破壞,dbmsdbms也應該能夠恢也應該能夠恢復。復。n事務上述四個性質(zhì)的英文術語的第一個字母為事務上述四個性質(zhì)的英文
13、術語的第一個字母為acidacid。因此,這四。因此,這四個性質(zhì)以稱為事務的個性質(zhì)以稱為事務的acidacid準則。準則。n下面是一個事務的例子,從帳號下面是一個事務的例子,從帳號a a轉(zhuǎn)移資金額轉(zhuǎn)移資金額r r到帳號到帳號b b:begin transactionbegin transaction read a aa-r if a0/* a 款不足款不足*/ then begin display “a款不足款不足”rollback endelse /* 撥款撥款 */ begin bb+r display “撥款完成撥款完成” commit endn這是對一個簡單事務的完整的描述。這是對一個
14、簡單事務的完整的描述。n該事務有兩個出口:該事務有兩個出口:n當當a 帳號的款項不足時,事務以帳號的款項不足時,事務以rollback(撤銷)命令結束,即撤銷該事務的影響;(撤銷)命令結束,即撤銷該事務的影響;n另一個出口是以另一個出口是以commit(提交)命令結束,(提交)命令結束,完成從帳號完成從帳號a到帳號到帳號b的撥款。的撥款。n在在commit之前,即在數(shù)據(jù)庫修改過程中,數(shù)據(jù)可之前,即在數(shù)據(jù)庫修改過程中,數(shù)據(jù)可能是不一致的,事務本身也可能被撤銷。能是不一致的,事務本身也可能被撤銷。n只有在只有在commit之后,事務對數(shù)據(jù)庫所產(chǎn)生的變化之后,事務對數(shù)據(jù)庫所產(chǎn)生的變化才對其他事務開放
15、,這就可以避免其他事務訪問不一才對其他事務開放,這就可以避免其他事務訪問不一致或不存在的數(shù)據(jù)致或不存在的數(shù)據(jù)。 n事務的事務的acid特性可能遭到破壞的因素有:特性可能遭到破壞的因素有:1、多個事務并發(fā)運行,不同事務的操作交叉執(zhí)行多個事務并發(fā)運行,不同事務的操作交叉執(zhí)行;(dbms必須保證在此種情況下多個事務的交叉運必須保證在此種情況下多個事務的交叉運行不影響這些事務的原子性,這是行不影響這些事務的原子性,這是dbms中的并中的并發(fā)控制機制的責任。發(fā)控制機制的責任。)2、事務在運行過程中被強行停止。事務在運行過程中被強行停止。(dbms必須保證必須保證被強行終止的事務對數(shù)據(jù)庫和其它事務沒有任何
16、被強行終止的事務對數(shù)據(jù)庫和其它事務沒有任何影響,這是影響,這是dbms中的恢復機制的責任中的恢復機制的責任。)10.2 10.2 數(shù)據(jù)庫的恢復數(shù)據(jù)庫的恢復10.2.1 10.2.1 數(shù)據(jù)庫恢復的含義數(shù)據(jù)庫恢復的含義n雖然數(shù)據(jù)庫系統(tǒng)中已采取一定的措施,來防止數(shù)據(jù)庫雖然數(shù)據(jù)庫系統(tǒng)中已采取一定的措施,來防止數(shù)據(jù)庫的安全性和完整性的破壞,保證并發(fā)事務的正確執(zhí)行,的安全性和完整性的破壞,保證并發(fā)事務的正確執(zhí)行,但數(shù)據(jù)庫中的數(shù)據(jù)仍然無法保證絕對不遭受破壞,比但數(shù)據(jù)庫中的數(shù)據(jù)仍然無法保證絕對不遭受破壞,比如計算機系統(tǒng)中硬件的故障、軟件的的錯誤,操作員如計算機系統(tǒng)中硬件的故障、軟件的的錯誤,操作員的失誤,惡意
17、的破壞等都有可能發(fā)生,這些故障的發(fā)的失誤,惡意的破壞等都有可能發(fā)生,這些故障的發(fā)生影響數(shù)據(jù)庫數(shù)據(jù)的正確性,甚至可能破壞數(shù)據(jù)庫,生影響數(shù)據(jù)庫數(shù)據(jù)的正確性,甚至可能破壞數(shù)據(jù)庫,使數(shù)據(jù)庫中的數(shù)據(jù)全部或部分丟失。使數(shù)據(jù)庫中的數(shù)據(jù)全部或部分丟失。n數(shù)據(jù)庫的恢復:數(shù)據(jù)庫的恢復:把數(shù)據(jù)庫從錯誤狀態(tài)恢復到某一已知把數(shù)據(jù)庫從錯誤狀態(tài)恢復到某一已知的正確狀態(tài)的正確狀態(tài)( (亦稱為一致狀態(tài)或完整狀態(tài)亦稱為一致狀態(tài)或完整狀態(tài)) ) 10.3 10.3 故障的種類故障的種類事務內(nèi)部事務內(nèi)部,系統(tǒng)故障系統(tǒng)故障,介質(zhì)故障介質(zhì)故障,計算機病毒計算機病毒1、事務內(nèi)部的故障、事務內(nèi)部的故障n有的是預期的(可以通過事務程序本身發(fā)現(xiàn)
18、的有的是預期的(可以通過事務程序本身發(fā)現(xiàn)的)n有的是非預期的有的是非預期的begin transactionbegin transaction read a aa-r if a0/* a 款不足款不足*/ then begin display “a款不足款不足”rollback endelse /* 撥款撥款 */ begin bb+r display “撥款完成撥款完成” commit end預期到的故障,發(fā)現(xiàn)預期到的故障,發(fā)現(xiàn)余額不足,則讓事務余額不足,則讓事務滾回,撤消已做的更滾回,撤消已做的更改,恢復數(shù)據(jù)庫到正改,恢復數(shù)據(jù)庫到正確的狀態(tài)。確的狀態(tài)。n事務內(nèi)部更多的故障是非預期的,是不能
19、由事務內(nèi)部更多的故障是非預期的,是不能由應用程序處理的。如運算溢出、并發(fā)事務死應用程序處理的。如運算溢出、并發(fā)事務死鎖等。以后,我們指的事務故障僅指這一類鎖等。以后,我們指的事務故障僅指這一類非預期的故障。非預期的故障。n事務故障意味著事務沒有達到預期的終點事務故障意味著事務沒有達到預期的終點(commit 或者顯式的或者顯式的rollback),因此,因此,數(shù)據(jù)庫可能處于不正確的狀態(tài)?;謴统绦蛞獢?shù)據(jù)庫可能處于不正確的狀態(tài)。恢復程序要在不影響其它事務運行的前提下,強行回滾在不影響其它事務運行的前提下,強行回滾(rollback)該事務,該事務,撤消該事務已經(jīng)作撤消該事務已經(jīng)作出的任何對數(shù)據(jù)庫的
20、修改,使得該事務好象出的任何對數(shù)據(jù)庫的修改,使得該事務好象根本沒有啟動一樣根本沒有啟動一樣。這類恢復操作稱為。這類恢復操作稱為事務事務撤消撤消(undo)。2、系統(tǒng)故障、系統(tǒng)故障n系統(tǒng)故障是指系統(tǒng)在運行過程中,由于某種原因,系統(tǒng)故障是指系統(tǒng)在運行過程中,由于某種原因,造成系統(tǒng)停止運轉(zhuǎn),致使所有正在運行的事務都造成系統(tǒng)停止運轉(zhuǎn),致使所有正在運行的事務都以非正常方式終止,要求系統(tǒng)重新啟動。以非正常方式終止,要求系統(tǒng)重新啟動。n引起系統(tǒng)故障的原因可能有:硬件錯誤如引起系統(tǒng)故障的原因可能有:硬件錯誤如cpucpu故故障、操作系統(tǒng)或障、操作系統(tǒng)或dbmsdbms代碼錯誤、突然斷電等。代碼錯誤、突然斷電等
21、。n這時,內(nèi)存中數(shù)據(jù)庫緩沖區(qū)的內(nèi)容全部丟失,存這時,內(nèi)存中數(shù)據(jù)庫緩沖區(qū)的內(nèi)容全部丟失,存儲在外部存儲設備上的數(shù)據(jù)庫并未破壞,但內(nèi)容儲在外部存儲設備上的數(shù)據(jù)庫并未破壞,但內(nèi)容不可靠了不可靠了。n發(fā)生系統(tǒng)故障時,事務未提交發(fā)生系統(tǒng)故障時,事務未提交n恢復策略:強行撤消(恢復策略:強行撤消(undo)所有未完成事務)所有未完成事務n發(fā)生系統(tǒng)故障時,事務已提交,但緩沖區(qū)中的信息發(fā)生系統(tǒng)故障時,事務已提交,但緩沖區(qū)中的信息尚未完全寫回到磁盤上尚未完全寫回到磁盤上。n恢復策略:重做(恢復策略:重做(redo)所有已提交的事務)所有已提交的事務n重做(重做(redo):有些己提交的事務對數(shù)據(jù)庫的有些己提交的
22、事務對數(shù)據(jù)庫的更新結果還保留在緩沖區(qū)中,尚未寫到磁盤上的更新結果還保留在緩沖區(qū)中,尚未寫到磁盤上的物理數(shù)據(jù)庫中,這也使數(shù)據(jù)庫處于不一致狀態(tài),物理數(shù)據(jù)庫中,這也使數(shù)據(jù)庫處于不一致狀態(tài),因此應將這些事務己提交的結果重新寫入數(shù)據(jù)庫因此應將這些事務己提交的結果重新寫入數(shù)據(jù)庫3 3、介質(zhì)故障、介質(zhì)故障n介質(zhì)故障是指系統(tǒng)在運行過程中,由于存儲器介質(zhì)受到破壞,介質(zhì)故障是指系統(tǒng)在運行過程中,由于存儲器介質(zhì)受到破壞,使存儲在外存中的數(shù)據(jù)部分丟失或全部丟失。使存儲在外存中的數(shù)據(jù)部分丟失或全部丟失。n這類故障比事務故障和系統(tǒng)故障發(fā)生的可能性要小,但這是這類故障比事務故障和系統(tǒng)故障發(fā)生的可能性要小,但這是最嚴重的一種
23、故障,破壞性很大最嚴重的一種故障,破壞性很大。4、計算機病毒、計算機病毒n一種人為的故障或破壞,是一些惡作劇者研制的一種計算機一種人為的故障或破壞,是一些惡作劇者研制的一種計算機程序程序n可以繁殖和傳播可以繁殖和傳播n危害危害n破壞、盜竊系統(tǒng)中的數(shù)據(jù)破壞、盜竊系統(tǒng)中的數(shù)據(jù)n破壞系統(tǒng)文件破壞系統(tǒng)文件故障小結n各類故障,對數(shù)據(jù)庫的影響有兩種可能性各類故障,對數(shù)據(jù)庫的影響有兩種可能性n一是數(shù)據(jù)庫本身被破壞一是數(shù)據(jù)庫本身被破壞n二是數(shù)據(jù)庫沒有被破壞,但數(shù)據(jù)可能不正確,這二是數(shù)據(jù)庫沒有被破壞,但數(shù)據(jù)可能不正確,這是由于事務的運行被非正常終止造成的是由于事務的運行被非正常終止造成的。 10.4 10.4
24、恢復的原理及其實現(xiàn)技術恢復的原理及其實現(xiàn)技術n數(shù)據(jù)庫恢復的數(shù)據(jù)庫恢復的基本原理十分簡單,就是數(shù)據(jù)的冗余基本原理十分簡單,就是數(shù)據(jù)的冗余。n數(shù)據(jù)庫中任何一部分被破壞的或不正確的數(shù)據(jù)都可以數(shù)據(jù)庫中任何一部分被破壞的或不正確的數(shù)據(jù)都可以利用存儲在系統(tǒng)其它地方的冗余數(shù)據(jù)來修復。利用存儲在系統(tǒng)其它地方的冗余數(shù)據(jù)來修復。n因此恢復系統(tǒng)應該提供兩種類型的功能:因此恢復系統(tǒng)應該提供兩種類型的功能:n一種是一種是生成冗余數(shù)據(jù)生成冗余數(shù)據(jù),即對可能發(fā)生的故障作某些,即對可能發(fā)生的故障作某些準備;準備;n另一種是另一種是冗余重建冗余重建,即利用這些冗余數(shù)據(jù)恢復數(shù)據(jù),即利用這些冗余數(shù)據(jù)恢復數(shù)據(jù)庫。庫。n生成冗余數(shù)據(jù)最
25、常用的技術是生成冗余數(shù)據(jù)最常用的技術是登記日志文件登記日志文件和和數(shù)據(jù)轉(zhuǎn)數(shù)據(jù)轉(zhuǎn)儲儲,在實際應用中,這兩種方法常常結合起來一起使在實際應用中,這兩種方法常常結合起來一起使用。用。 10.4.1 10.4.1 登記日志文件(登記日志文件(logginglogging)n日志文件日志文件是用來記錄事務對數(shù)據(jù)庫的更新操作的文件。是用來記錄事務對數(shù)據(jù)庫的更新操作的文件。對數(shù)據(jù)庫的每次修改,都將被修改項目的對數(shù)據(jù)庫的每次修改,都將被修改項目的舊值和新值舊值和新值寫在一個叫做運行日志的文件中,寫在一個叫做運行日志的文件中,目的目的是為數(shù)據(jù)庫的是為數(shù)據(jù)庫的恢復保留詳細的數(shù)據(jù)?;謴捅A粼敿毜臄?shù)據(jù)。n典型的日志文
26、件主要包含以下內(nèi)容:典型的日志文件主要包含以下內(nèi)容:1 1更新數(shù)據(jù)庫的事務標識(標明是哪個事務);更新數(shù)據(jù)庫的事務標識(標明是哪個事務);2 2操作的類型(插入、刪除或修改)操作的類型(插入、刪除或修改)3 3操作對象;操作對象;4 4更新前數(shù)據(jù)的舊值(對于插入操作而言,沒有舊更新前數(shù)據(jù)的舊值(對于插入操作而言,沒有舊值);值);5 5更新前數(shù)據(jù)的新值(對于刪除操作而言,沒有新更新前數(shù)據(jù)的新值(對于刪除操作而言,沒有新值);值);6 6事務處理中的各個關鍵時刻(事務的開始、結束及事務處理中的各個關鍵時刻(事務的開始、結束及其真正回寫的時間)。其真正回寫的時間)。n日志文件是系統(tǒng)運行的歷史記載,
27、必須高度可靠。日志文件是系統(tǒng)運行的歷史記載,必須高度可靠。n所以一般都是所以一般都是雙副本雙副本的,并且獨立地寫在兩個不同類型的,并且獨立地寫在兩個不同類型的設備上。的設備上。n日志的日志的信息量很大信息量很大,一般保存在海量存儲器上。,一般保存在海量存儲器上。n在對在對數(shù)據(jù)庫修改數(shù)據(jù)庫修改時,在運行日志中要時,在運行日志中要寫入一個表示這個寫入一個表示這個修改的運行記錄。修改的運行記錄。n把把數(shù)據(jù)庫的修改寫到數(shù)據(jù)庫數(shù)據(jù)庫的修改寫到數(shù)據(jù)庫和把表示和把表示這個修改的日志記這個修改的日志記錄寫到日志文件錄寫到日志文件是兩個不同的操作。是兩個不同的操作。n為了防止在這兩個操作之間發(fā)生故障后,運行日志
28、中沒為了防止在這兩個操作之間發(fā)生故障后,運行日志中沒有記錄下這個修改,以后也無法撤消這個修改。為保證有記錄下這個修改,以后也無法撤消這個修改。為保證數(shù)據(jù)庫是可恢復的,登記日志文件必須遵循兩條原則原數(shù)據(jù)庫是可恢復的,登記日志文件必須遵循兩條原則原則:則:n1.1.登記的次序嚴格按并發(fā)事務執(zhí)行的時間登記的次序嚴格按并發(fā)事務執(zhí)行的時間次序;次序;n2.2.必須先寫日志文件,后寫數(shù)據(jù)庫。必須先寫日志文件,后寫數(shù)據(jù)庫。n先寫原則蘊含了如下意義:如果出現(xiàn)故障,只先寫原則蘊含了如下意義:如果出現(xiàn)故障,只可能是在日志文件中已經(jīng)登記了所做的修改,可能是在日志文件中已經(jīng)登記了所做的修改,但沒有真正修改數(shù)據(jù)庫,這樣
29、在系統(tǒng)重新啟動但沒有真正修改數(shù)據(jù)庫,這樣在系統(tǒng)重新啟動進行恢復時,只是撤消或重做因發(fā)生事故而沒進行恢復時,只是撤消或重做因發(fā)生事故而沒有做過的修改,并不會影響數(shù)據(jù)庫的正確性。有做過的修改,并不會影響數(shù)據(jù)庫的正確性。而如果先寫了數(shù)據(jù)庫修改,而在運行記錄中沒而如果先寫了數(shù)據(jù)庫修改,而在運行記錄中沒有登記這個修改,則以后就無法恢復這個修改有登記這個修改,則以后就無法恢復這個修改了。了。10.4.2 10.4.2 數(shù)據(jù)轉(zhuǎn)儲(數(shù)據(jù)轉(zhuǎn)儲(data dumpdata dump)n數(shù)據(jù)轉(zhuǎn)儲是數(shù)據(jù)轉(zhuǎn)儲是指定期地指定期地將整個數(shù)據(jù)庫復制到多個存儲設將整個數(shù)據(jù)庫復制到多個存儲設備如磁帶、磁盤上保存起來的過程,它是數(shù)
30、據(jù)庫恢復備如磁帶、磁盤上保存起來的過程,它是數(shù)據(jù)庫恢復中采用的基本手段。中采用的基本手段。n轉(zhuǎn)儲的數(shù)據(jù)文本稱為轉(zhuǎn)儲的數(shù)據(jù)文本稱為后備副本后備副本或或后援副本后援副本,當數(shù)據(jù)庫,當數(shù)據(jù)庫遭到破壞后就可利用后援副本把數(shù)據(jù)庫有效地加以恢遭到破壞后就可利用后援副本把數(shù)據(jù)庫有效地加以恢復。復。n轉(zhuǎn)儲是十分耗費時間和資源的,不能頻繁地進行,應轉(zhuǎn)儲是十分耗費時間和資源的,不能頻繁地進行,應該根據(jù)數(shù)據(jù)庫使用情況確定一個適當?shù)霓D(zhuǎn)儲周期。該根據(jù)數(shù)據(jù)庫使用情況確定一個適當?shù)霓D(zhuǎn)儲周期。n按照轉(zhuǎn)儲方式轉(zhuǎn)儲可以分為按照轉(zhuǎn)儲方式轉(zhuǎn)儲可以分為海量轉(zhuǎn)儲海量轉(zhuǎn)儲和和增量轉(zhuǎn)儲增量轉(zhuǎn)儲。n海量轉(zhuǎn)儲是指海量轉(zhuǎn)儲是指每次轉(zhuǎn)儲全部數(shù)據(jù)庫每
31、次轉(zhuǎn)儲全部數(shù)據(jù)庫。n增量轉(zhuǎn)儲每次只增量轉(zhuǎn)儲每次只轉(zhuǎn)儲上次轉(zhuǎn)儲后被更新過的數(shù)據(jù)。轉(zhuǎn)儲上次轉(zhuǎn)儲后被更新過的數(shù)據(jù)。n按照轉(zhuǎn)儲狀態(tài)轉(zhuǎn)儲又可分為按照轉(zhuǎn)儲狀態(tài)轉(zhuǎn)儲又可分為靜態(tài)轉(zhuǎn)儲靜態(tài)轉(zhuǎn)儲和和動態(tài)轉(zhuǎn)儲動態(tài)轉(zhuǎn)儲。n靜態(tài)轉(zhuǎn)儲期間不允許有任何數(shù)據(jù)存取活動,因靜態(tài)轉(zhuǎn)儲期間不允許有任何數(shù)據(jù)存取活動,因而需在當前用戶事務結束之后進行,新用戶事而需在當前用戶事務結束之后進行,新用戶事務又需在轉(zhuǎn)儲結束之后才能進行,這就降低了務又需在轉(zhuǎn)儲結束之后才能進行,這就降低了數(shù)據(jù)庫的可用性。數(shù)據(jù)庫的可用性。n動態(tài)轉(zhuǎn)儲則不同,它允許轉(zhuǎn)儲期間繼續(xù)運行用動態(tài)轉(zhuǎn)儲則不同,它允許轉(zhuǎn)儲期間繼續(xù)運行用戶事務,但產(chǎn)生的副本并不能保證與當前狀態(tài)戶事務,
32、但產(chǎn)生的副本并不能保證與當前狀態(tài)一致。解決的辦法是把轉(zhuǎn)儲期間各事務對數(shù)據(jù)一致。解決的辦法是把轉(zhuǎn)儲期間各事務對數(shù)據(jù)庫的修改活動登記下來,建立日志文件。庫的修改活動登記下來,建立日志文件。n因此,因此,備用副本加上日志文件備用副本加上日志文件就能把數(shù)據(jù)庫恢就能把數(shù)據(jù)庫恢復到某一時刻的正確狀態(tài)。復到某一時刻的正確狀態(tài)。10.5 10.5 數(shù)據(jù)庫恢復的策略數(shù)據(jù)庫恢復的策略n根據(jù)故障類型的不同,應該采取不同的恢復策略根據(jù)故障類型的不同,應該采取不同的恢復策略。1 1、事務故障(、事務故障(transaction failuretransaction failure)及其恢復)及其恢復n事務故障表示由非預
33、期的、不正常的程序結束所造成事務故障表示由非預期的、不正常的程序結束所造成的故障。的故障。n發(fā)生事務故障時,被迫中斷的事務可能已對數(shù)據(jù)庫進發(fā)生事務故障時,被迫中斷的事務可能已對數(shù)據(jù)庫進行了修改,為了消除該事務對數(shù)據(jù)庫的影響,要利用行了修改,為了消除該事務對數(shù)據(jù)庫的影響,要利用日志文件中所記載的信息,日志文件中所記載的信息,強行回滾(強行回滾(rollbackrollback)該)該事務,將數(shù)據(jù)庫恢復到修改前的初始狀態(tài)。事務,將數(shù)據(jù)庫恢復到修改前的初始狀態(tài)。n為此,要檢查日志文件中由這些事務所引起的發(fā)生變?yōu)榇?,要檢查日志文件中由這些事務所引起的發(fā)生變化的記錄,取消這些沒有完成的事務所做的一切改變
34、?;挠涗洠∠@些沒有完成的事務所做的一切改變。n這類恢復操作稱為事務撤消(這類恢復操作稱為事務撤消(undoundo),具體做法如下:),具體做法如下:1 1反向掃描日志文件反向掃描日志文件,查找該事務的更新操作。,查找該事務的更新操作。2 2對該事務的更新操作執(zhí)行反操作對該事務的更新操作執(zhí)行反操作,即對已經(jīng)插入,即對已經(jīng)插入的新記錄進行刪除操作,對已刪除的記錄進行插入的新記錄進行刪除操作,對已刪除的記錄進行插入操作,對修改的數(shù)據(jù)恢復舊值,用舊值代替新值。操作,對修改的數(shù)據(jù)恢復舊值,用舊值代替新值。這樣由后向前逐個掃描該事務己做所有更新操作,這樣由后向前逐個掃描該事務己做所有更新操作,并做
35、同樣處理,直到掃描到此事務的開始標記,事并做同樣處理,直到掃描到此事務的開始標記,事務故障恢復完畢。務故障恢復完畢。n因此,一個事務是一個工作單位,也是一個恢復單位。因此,一個事務是一個工作單位,也是一個恢復單位。n一個事務越短,越便于對它進行一個事務越短,越便于對它進行undoundo操作。如果一個操作。如果一個應用程序運行時間較長,則應該把該應用程序分成多應用程序運行時間較長,則應該把該應用程序分成多個事務,用明確的個事務,用明確的commitcommit語句結束各個事務。語句結束各個事務。2 2、系統(tǒng)故障(、系統(tǒng)故障(system failuresystem failure)及其恢復)及
36、其恢復n系統(tǒng)故障發(fā)生后,對數(shù)據(jù)庫的影響有兩種情況:系統(tǒng)故障發(fā)生后,對數(shù)據(jù)庫的影響有兩種情況:n一種情況是一些未完成事務對數(shù)據(jù)庫的更新已寫入數(shù)一種情況是一些未完成事務對數(shù)據(jù)庫的更新已寫入數(shù)據(jù)庫,這樣在系統(tǒng)重新啟動后,要強行撤消(據(jù)庫,這樣在系統(tǒng)重新啟動后,要強行撤消(undoundo)所有未完成事務,清除這些事務對數(shù)據(jù)庫所做的修改。所有未完成事務,清除這些事務對數(shù)據(jù)庫所做的修改。這些未完成事務在日志文件中只有這些未完成事務在日志文件中只有begin transcationbegin transcation標記,而無標記,而無commitcommit標記。標記。n另一種情況是有些己提交的事務對數(shù)據(jù)
37、庫的更新結果另一種情況是有些己提交的事務對數(shù)據(jù)庫的更新結果還保留在緩沖區(qū)中,尚未寫到磁盤上的物理數(shù)據(jù)庫中,還保留在緩沖區(qū)中,尚未寫到磁盤上的物理數(shù)據(jù)庫中,這也使數(shù)據(jù)庫處于不一致狀態(tài),因此應將這些事務己這也使數(shù)據(jù)庫處于不一致狀態(tài),因此應將這些事務己提交的結果重新寫入數(shù)據(jù)庫。這類恢復操作稱為事務提交的結果重新寫入數(shù)據(jù)庫。這類恢復操作稱為事務的重做(的重做(redoredo)。這種己提交事務在日志文件中既有)。這種己提交事務在日志文件中既有begin transcationbegin transcation標記,也有標記,也有commitcommit標記標記。n因此,系統(tǒng)故障的恢復要完成兩方面的工作
38、,既要撤因此,系統(tǒng)故障的恢復要完成兩方面的工作,既要撤消所有未完成的事務,還需要重做所有己提交的事務,消所有未完成的事務,還需要重做所有己提交的事務,這樣才能將數(shù)據(jù)庫真正恢復到一致的狀態(tài)。具體做法這樣才能將數(shù)據(jù)庫真正恢復到一致的狀態(tài)。具體做法如下:如下:1 1正向掃描日志文件,查找尚未提交的事務,將其正向掃描日志文件,查找尚未提交的事務,將其事務標識記入撤消隊列。同時查找已經(jīng)提交的事事務標識記入撤消隊列。同時查找已經(jīng)提交的事務,將其事務標識記入重做隊列。務,將其事務標識記入重做隊列。2 2對撤消隊列中的各個事務進行撤消處理。方法同對撤消隊列中的各個事務進行撤消處理。方法同事務故障中所介紹的撤消
39、方法相同。事務故障中所介紹的撤消方法相同。3 3對重做隊列中的各個事務進行重做處理。進行重對重做隊列中的各個事務進行重做處理。進行重做處理的方法是:正向掃描日志文件,按照日志做處理的方法是:正向掃描日志文件,按照日志文件中所登記的操作內(nèi)容,重新執(zhí)行操作,使數(shù)文件中所登記的操作內(nèi)容,重新執(zhí)行操作,使數(shù)據(jù)庫恢復到最近某個可用狀態(tài)。據(jù)庫恢復到最近某個可用狀態(tài)。3 3、介質(zhì)故障(、介質(zhì)故障(media failuremedia failure)及其恢復)及其恢復n介質(zhì)故障是指系統(tǒng)在運行過程中,由于輔助存儲器介質(zhì)介質(zhì)故障是指系統(tǒng)在運行過程中,由于輔助存儲器介質(zhì)受到破壞,使存儲在外存中的數(shù)據(jù)部分丟失或全部
40、丟失。受到破壞,使存儲在外存中的數(shù)據(jù)部分丟失或全部丟失。n這需要裝入發(fā)生介質(zhì)故障前最新的后備數(shù)據(jù)庫副本,然這需要裝入發(fā)生介質(zhì)故障前最新的后備數(shù)據(jù)庫副本,然后利用日志文件重做該副本后所運行的所有事務。后利用日志文件重做該副本后所運行的所有事務。n具體方法如下:具體方法如下:1裝入最新的數(shù)據(jù)庫副本,使數(shù)據(jù)庫恢復到最近一次裝入最新的數(shù)據(jù)庫副本,使數(shù)據(jù)庫恢復到最近一次轉(zhuǎn)儲時的可用狀態(tài)。轉(zhuǎn)儲時的可用狀態(tài)。2裝入最新的日志文件副本,根據(jù)日志文件中的內(nèi)容裝入最新的日志文件副本,根據(jù)日志文件中的內(nèi)容重做已完成的事務。首先正向掃描日志文件,找出發(fā)重做已完成的事務。首先正向掃描日志文件,找出發(fā)生故障前已提交的事務
41、,將其記入重做隊例。再對重生故障前已提交的事務,將其記入重做隊例。再對重做隊列中的各個事務進行重做處理,做隊列中的各個事務進行重做處理,n通過以上對三類故障的分析,我們可以看出故障發(fā)生后通過以上對三類故障的分析,我們可以看出故障發(fā)生后對數(shù)據(jù)庫的影響有兩種可能性:對數(shù)據(jù)庫的影響有兩種可能性:1數(shù)據(jù)庫沒有被破壞,但數(shù)據(jù)可能處于不一致狀態(tài)。這數(shù)據(jù)庫沒有被破壞,但數(shù)據(jù)可能處于不一致狀態(tài)。這是由事務故障和系統(tǒng)故障引起的,這種情況在恢復時,是由事務故障和系統(tǒng)故障引起的,這種情況在恢復時,不需要重裝數(shù)據(jù)庫副本,直接根據(jù)日志文件,不需要重裝數(shù)據(jù)庫副本,直接根據(jù)日志文件,撤銷故撤銷故障發(fā)生時未完成的事務障發(fā)生時
42、未完成的事務,并,并重做己完成的事務重做己完成的事務,使數(shù),使數(shù)據(jù)庫恢復到正確的狀態(tài)。這類故障的恢復是系統(tǒng)在重據(jù)庫恢復到正確的狀態(tài)。這類故障的恢復是系統(tǒng)在重新啟動時自動完成的,不需要用戶干預。新啟動時自動完成的,不需要用戶干預。2數(shù)據(jù)庫本身被破壞。這是由介質(zhì)故障引起的,這種情數(shù)據(jù)庫本身被破壞。這是由介質(zhì)故障引起的,這種情況在恢復時,把最近一次轉(zhuǎn)儲的數(shù)據(jù)裝入,然后況在恢復時,把最近一次轉(zhuǎn)儲的數(shù)據(jù)裝入,然后借助借助于日志文件于日志文件,再在此基礎上對數(shù)據(jù)庫進行更新,從而,再在此基礎上對數(shù)據(jù)庫進行更新,從而重建了數(shù)據(jù)庫。這類重建了數(shù)據(jù)庫。這類故障的恢復不能自動完成故障的恢復不能自動完成,需要,需要d
43、ba的介入,先由的介入,先由dba重裝最近轉(zhuǎn)儲的數(shù)據(jù)庫副本和重裝最近轉(zhuǎn)儲的數(shù)據(jù)庫副本和相應的日志文件的副本,再執(zhí)行系統(tǒng)提供的恢復命令,相應的日志文件的副本,再執(zhí)行系統(tǒng)提供的恢復命令,具體的恢復操作由具體的恢復操作由dbms來完成。來完成。n數(shù)據(jù)庫恢復的基本原理就是利用數(shù)據(jù)的冗余的。數(shù)據(jù)庫恢復的基本原理就是利用數(shù)據(jù)的冗余的。十分簡單,實現(xiàn)的方法也比較清楚,但真正實十分簡單,實現(xiàn)的方法也比較清楚,但真正實現(xiàn)起來相當復雜,實現(xiàn)恢復的程序非常龐大,現(xiàn)起來相當復雜,實現(xiàn)恢復的程序非常龐大,常常占整個系統(tǒng)代碼的百分之十以上。常常占整個系統(tǒng)代碼的百分之十以上。n數(shù)據(jù)庫系統(tǒng)所采用的恢復技術是否行之有效,數(shù)據(jù)庫
44、系統(tǒng)所采用的恢復技術是否行之有效,不僅對系統(tǒng)的可靠程度起著決定性使用,而且不僅對系統(tǒng)的可靠程度起著決定性使用,而且對系統(tǒng)的運行效率也有很大的影響,是衡量系對系統(tǒng)的運行效率也有很大的影響,是衡量系統(tǒng)性能優(yōu)劣的重要指標統(tǒng)性能優(yōu)劣的重要指標。10.6 10.6 具有檢查點的恢復技術具有檢查點的恢復技術一、問題的提出二、檢查點技術檢查點技術三、利用檢查點的恢復策略三、利用檢查點的恢復策略一、問題的提出n兩個問題兩個問題n搜索整個日志將耗費大量的時間搜索整個日志將耗費大量的時間nredo處理:重新執(zhí)行,浪費了大量時處理:重新執(zhí)行,浪費了大量時間間解決方案n具有檢查點(具有檢查點(checkpoint)的
45、恢復技術)的恢復技術n在日志文件中增加檢查點記錄(在日志文件中增加檢查點記錄(checkpoint)n增加重新開始文件增加重新開始文件n恢復子系統(tǒng)在登錄日志文件期間動態(tài)地維護日志恢復子系統(tǒng)在登錄日志文件期間動態(tài)地維護日志二、檢查點技術n檢查點記錄的內(nèi)容檢查點記錄的內(nèi)容n1. 建立檢查點時刻所有正在執(zhí)行的事務清單建立檢查點時刻所有正在執(zhí)行的事務清單n2. 這些事務最近一個日志記錄的地址這些事務最近一個日志記錄的地址n重新開始文件的內(nèi)容重新開始文件的內(nèi)容n記錄各個檢查點記錄在日志文件中的地址記錄各個檢查點記錄在日志文件中的地址具有檢查點的日志文件和重新開始文件具有檢查點的日志文件和重新開始文件 動
46、態(tài)維護日志文件的方法n動態(tài)維護日志文件的方法動態(tài)維護日志文件的方法周期性地執(zhí)行如下操作:建立檢查點,保存數(shù)據(jù)庫狀態(tài)。周期性地執(zhí)行如下操作:建立檢查點,保存數(shù)據(jù)庫狀態(tài)。具體步驟是:具體步驟是:n1.將當前日志緩沖區(qū)中的所有日志記錄寫入磁盤的日志文將當前日志緩沖區(qū)中的所有日志記錄寫入磁盤的日志文件上件上n2.在日志文件中寫入一個檢查點記錄在日志文件中寫入一個檢查點記錄n3.將當前數(shù)據(jù)緩沖區(qū)的所有數(shù)據(jù)記錄寫入磁盤的數(shù)據(jù)庫中將當前數(shù)據(jù)緩沖區(qū)的所有數(shù)據(jù)記錄寫入磁盤的數(shù)據(jù)庫中n4.把檢查點記錄在日志文件中的地址寫入一個重新開始把檢查點記錄在日志文件中的地址寫入一個重新開始文文件件建立檢查點n恢復子系統(tǒng)可以
47、定期或不定期地建立檢查點恢復子系統(tǒng)可以定期或不定期地建立檢查點,保存數(shù)據(jù)庫狀態(tài)保存數(shù)據(jù)庫狀態(tài) n定期定期按照預定的一個時間間隔,如每隔一小時建立一個檢查點按照預定的一個時間間隔,如每隔一小時建立一個檢查點 n不定期不定期按照某種規(guī)則,如日志文件已寫滿一半建立一個檢查點按照某種規(guī)則,如日志文件已寫滿一半建立一個檢查點三、利用檢查點的恢復策略n使用檢查點方法可以改善恢復效率使用檢查點方法可以改善恢復效率n當事務當事務t在一個檢查點之前提交在一個檢查點之前提交 t對數(shù)據(jù)庫所做的修改已寫入數(shù)據(jù)庫對數(shù)據(jù)庫所做的修改已寫入數(shù)據(jù)庫n寫入時間是在這個檢查點建立之前或在這寫入時間是在這個檢查點建立之前或在這個檢
48、查點建立之時個檢查點建立之時 n在進行恢復處理時,沒有必要對事務在進行恢復處理時,沒有必要對事務t執(zhí)行執(zhí)行redo操作操作tc (檢查點檢查點)tf(系統(tǒng)故障系統(tǒng)故障) redoundoundo redot2t3t4t5不要不要redot1系統(tǒng)出現(xiàn)故障時,恢復子系統(tǒng)將根據(jù)事務的不同狀態(tài)采取不同的恢復策略系統(tǒng)出現(xiàn)故障時,恢復子系統(tǒng)將根據(jù)事務的不同狀態(tài)采取不同的恢復策略 nt1:在檢查點之前提交:在檢查點之前提交nt2:在檢查點之前開始執(zhí)行,在檢查點之后故障點之:在檢查點之前開始執(zhí)行,在檢查點之后故障點之前提交前提交nt3:在檢查點之前開始執(zhí)行,在故障點時還未完成:在檢查點之前開始執(zhí)行,在故障點時
49、還未完成nt4:在檢查點之后開始執(zhí)行,在故障點之前提交:在檢查點之后開始執(zhí)行,在故障點之前提交nt5:在檢查點之后開始執(zhí)行,在故障點時還未完成:在檢查點之后開始執(zhí)行,在故障點時還未完成恢復策略:恢復策略:nt3和和t5在故障發(fā)生時還未完成,所以予以撤銷在故障發(fā)生時還未完成,所以予以撤銷nt2和和t4在檢查點之后才提交,它們對數(shù)據(jù)庫所做的修在檢查點之后才提交,它們對數(shù)據(jù)庫所做的修改在故障發(fā)生時可能還在緩沖區(qū)中,尚未寫入數(shù)據(jù)庫,改在故障發(fā)生時可能還在緩沖區(qū)中,尚未寫入數(shù)據(jù)庫,所以要所以要redont1在檢查點之前已提交,所以不必執(zhí)行在檢查點之前已提交,所以不必執(zhí)行redo操作操作10.7 數(shù)據(jù)庫鏡像數(shù)據(jù)庫鏡像n介質(zhì)故障是對系統(tǒng)影響最為嚴重的一種故障,嚴重影介質(zhì)故障是對系統(tǒng)影響最為嚴重的一種故
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年滬科版九年級生物下冊月考試卷含答案
- 塑料薄膜的耐酸堿腐蝕涂層考核試卷
- 城市迷宮的解謎探險考核試卷
- 2025年冀教版七年級生物上冊階段測試試卷含答案
- 2025年人教版選修6地理下冊月考試卷含答案
- 塑料型材的耐真空性能考核試卷
- 2025年北師大新版九年級科學上冊階段測試試卷含答案
- 2025年粵教版必修2物理上冊月考試卷含答案
- 冷藏車運輸與冷鏈物流市場細分領域研究考核試卷
- 2025年蘇教版必修1化學下冊月考試卷含答案
- 翼狀胬肉病人的護理
- GB/T 12914-2008紙和紙板抗張強度的測定
- GB/T 1185-2006光學零件表面疵病
- ps6000自動化系統(tǒng)用戶操作及問題處理培訓
- 家庭教養(yǎng)方式問卷(含評分標準)
- 城市軌道交通安全管理課件(完整版)
- 線纜包覆擠塑模設計和原理
- TSG ZF001-2006 安全閥安全技術監(jiān)察規(guī)程
- 部編版二年級語文下冊《蜘蛛開店》
- 鍋爐升降平臺管理
- 200m3╱h凈化水處理站設計方案
評論
0/150
提交評論