版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Humpty Dumpty sat on a wall.Humpty Dumpty had a great fall.All the Kings horses and all the Kings men Could not put Humpty together again. -Old nursery rhyme,第十章 數(shù)據(jù)庫恢復(fù)技術(shù),10.1 事務(wù)的基本概念 10.2 數(shù)據(jù)庫恢復(fù)概述 10.3 故障的種類 10.4 恢復(fù)的實(shí)現(xiàn)技術(shù) 10.5 恢復(fù)策略 10.6 具有檢查點(diǎn)的恢復(fù)技術(shù) 10.7 數(shù)據(jù)庫鏡像,10.1 事務(wù)的基本概念,一、事務(wù),事務(wù)(Transaction)是用戶定義的一個(gè)數(shù)據(jù)
2、庫操作序列,這些操作要么全做,要么全不做,是一個(gè)不可分割的工作單位。 事務(wù)和程序是兩個(gè)概念 在關(guān)系數(shù)據(jù)庫中,一個(gè)事務(wù)可以是一條SQL語句,一組SQL語句或整個(gè)程序; 一個(gè)應(yīng)用程序通常包含多個(gè)事務(wù)。 事務(wù)是恢復(fù)和并發(fā)控制的基本單位。,二、如何定義事務(wù),顯式定義方式 BEGIN TRANSACTION SQL 語句1 SQL 語句2 COMMIT,隱式方式 當(dāng)用戶沒有顯式地定義事務(wù)時(shí), DBMS按缺省規(guī)定自動(dòng)劃分事務(wù),COMMIT 事務(wù)正常結(jié)束 提交事務(wù)的所有操作(讀+更新) 事務(wù)中所有對(duì)數(shù)據(jù)庫的更新永久生效,ROLLBACK事務(wù)異常終止 事務(wù)運(yùn)行的過程中發(fā)生了故障,不能繼續(xù)執(zhí)行 回滾事務(wù)的所有更
3、新操作 事務(wù)滾回到開始時(shí)的狀態(tài),BEGIN TRANSACTION SQL 語句1 SQL 語句2 ROLLBACK,三、事務(wù)的特性(ACID特性),原子性(Atomicity) 一致性(Consistency) 隔離性(Isolation) 持續(xù)性(Durability ) 也稱永久性(Permanence),事務(wù)是數(shù)據(jù)庫的邏輯工作單位。 事務(wù)中包括的諸操作要么都做,要么都不做。,事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)。,一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾 一個(gè)事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對(duì)其他并發(fā)事務(wù)是隔離的,并發(fā)執(zhí)行的各個(gè)事務(wù)之間不能互相干擾,一個(gè)事務(wù)一旦提交,它對(duì)
4、數(shù)據(jù)庫中數(shù)據(jù)的改變就應(yīng)該是永久性的。 接下來的其他操作或故障不應(yīng)該對(duì)其執(zhí)行結(jié)果有任何影響。,保證事務(wù)ACID特性是事務(wù)處理的任務(wù) 破壞事務(wù)ACID特性的因素 多個(gè)事務(wù)并行運(yùn)行時(shí),不同事務(wù)的操作交叉執(zhí)行; 事務(wù)在運(yùn)行過程中被強(qiáng)行停止。,10.2 數(shù)據(jù)庫恢復(fù)概述,故障是不可避免的 計(jì)算機(jī)硬件故障; 系統(tǒng)軟件和應(yīng)用軟件的錯(cuò)誤; 操作員的失誤; 惡意的破壞。 故障的影響 運(yùn)行事務(wù)非正常中斷; 破壞數(shù)據(jù)庫。 數(shù)據(jù)庫管理系統(tǒng)對(duì)故障的對(duì)策 DBMS提供恢復(fù)子系統(tǒng); 保證故障發(fā)生后,能把數(shù)據(jù)庫中的數(shù)據(jù)從錯(cuò)誤狀態(tài)恢復(fù)到某種邏輯一致的狀態(tài); 保證事務(wù)ACID。,恢復(fù)技術(shù)是衡量系統(tǒng)優(yōu)劣的重要指標(biāo),10.3 故障的種
5、類,事務(wù)故障 系統(tǒng)故障 介質(zhì)故障 計(jì)算機(jī)病毒,有的是非預(yù)期的,不能由事務(wù)程序處理,如:輸入數(shù)據(jù)有誤、運(yùn)算溢出、違反了某些完整性限制、某些應(yīng)用程序出錯(cuò)、并行事務(wù)發(fā)生死鎖等等。以后,事務(wù)故障僅指這一類故障 。 事務(wù)故障意味著事務(wù)沒有達(dá)到預(yù)期的終點(diǎn)(COMMIT或者顯式的ROLLBACK),因此,數(shù)據(jù)庫可能處于不正確狀態(tài)。恢復(fù)程序要在不影響其它事務(wù)運(yùn)行的情況下,強(qiáng)行回滾(ROLLBACK)該事務(wù),即撤消該事務(wù)已經(jīng)作出的任何對(duì)數(shù)據(jù)庫的修改,使得該事務(wù)好象根本沒有啟動(dòng)一樣。 這類恢復(fù)操作稱為事務(wù)撤消(UNDO)。,例如:銀行轉(zhuǎn)帳事務(wù)。這個(gè)事務(wù)把一筆金額從一個(gè)帳戶甲轉(zhuǎn)給另一個(gè)帳戶乙。 BEGIN TRAN
6、SACTION 讀帳戶甲的余額BALANCE; BALANCEBALANCE - AMOUNT;(Amount為轉(zhuǎn)帳金額) IF (BALANCE 0) THEN 打印 金額不足,不能轉(zhuǎn)帳; ROLLBACK;(撤消剛才的修改,恢復(fù)事務(wù)) ELSE 讀帳戶乙的余額BALANCE1; BALANCE1BALANCE1 + AMOUNT; 寫回BALANCE1; COMMIT; ,一、事務(wù)內(nèi)部故障,指某個(gè)事務(wù)在運(yùn)行過程中由于種種原因未運(yùn)行至正常終止點(diǎn)就夭折了。 事務(wù)內(nèi)部故障有的是可以通過程序本身發(fā)現(xiàn)的;,二、系統(tǒng)故障,系統(tǒng)故障是指造成系統(tǒng)停止運(yùn)轉(zhuǎn)的任何事件,使得系統(tǒng)要重新啟動(dòng)。 引起的原因:特定類
7、型的硬件錯(cuò)誤(CPU故障)、操作系統(tǒng)故障、DBMS代碼錯(cuò)誤、突然停電等等。 故障的后果:影響正在運(yùn)行的所有事務(wù),但不破壞數(shù)據(jù)庫。 這時(shí)主存內(nèi)容,尤其是數(shù)據(jù)庫緩沖區(qū)(在內(nèi)存)中的內(nèi)容都被丟失,所有運(yùn)行事務(wù)都非正常終止。 發(fā)生系統(tǒng)故障時(shí),一些尚未完成的事務(wù)的結(jié)果可能已送入物理數(shù)據(jù)庫,有些已完成的事務(wù)可能有一部分甚至全部留在緩沖區(qū),尚未寫回到磁盤上的物理數(shù)據(jù)庫中,從而造成數(shù)據(jù)庫可能處于不正確的狀態(tài)。 故障的恢復(fù):為保證數(shù)據(jù)一致性,恢復(fù)子系統(tǒng)必須在系統(tǒng)重新啟動(dòng)時(shí)讓所有非正常終止的事務(wù)回滾,強(qiáng)行撤消(UNDO)所有未完成事務(wù)。重做(Redo)所有已提交的事務(wù),以將數(shù)據(jù)庫真正恢復(fù)到一致狀態(tài)。,三、介質(zhì)故障
8、,系統(tǒng)故障常稱為軟故障(Soft Crash)。 介質(zhì)故障稱為硬故障(Hard Crash)。 硬故障指外存故障,如磁盤損壞、磁頭碰撞,瞬時(shí)強(qiáng)磁場(chǎng)干擾等。 硬故障將破壞數(shù)據(jù)庫或部分?jǐn)?shù)據(jù)庫,并影響正在存取這部分?jǐn)?shù)據(jù)的所有事務(wù)。這類故障比前兩類故障發(fā)生的可能性小得多,但破壞性最大。 硬故障的恢復(fù):裝入數(shù)據(jù)庫發(fā)生介質(zhì)故障前某個(gè)時(shí)刻的數(shù)據(jù)副本,重做自此時(shí)開始的所有成功事務(wù),將這些事務(wù)已提交的結(jié)果重新記入數(shù)據(jù)庫,四、計(jì)算機(jī)病毒,計(jì)算機(jī)病毒是一種人為的故障或破壞,是一些惡作劇者研制的一種計(jì)算機(jī)程序,這種程序與其他程序不同, 它象微生物學(xué)所稱的病毒一樣可以繁殖和傳播,并造成對(duì)計(jì)算機(jī)系統(tǒng)包括數(shù)據(jù)庫的危害。,總
9、結(jié)各類故障,對(duì)數(shù)據(jù)庫的影響有兩種可能性,一是數(shù)據(jù)庫本身被破壞,二是數(shù)據(jù)庫沒有破壞,但數(shù)據(jù)可能不正確, 這是因?yàn)槭聞?wù)的運(yùn)行被中止造成的。,恢復(fù)操作的基本原理:冗余 利用存儲(chǔ)在系統(tǒng)其它地方的冗余數(shù)據(jù)來重建數(shù)據(jù)庫中已被破壞或不正確的那部分?jǐn)?shù)據(jù) 恢復(fù)的實(shí)現(xiàn)技術(shù):復(fù)雜 一個(gè)大型數(shù)據(jù)庫產(chǎn)品,恢復(fù)子系統(tǒng)的代碼要占全部代碼的10%以上。,10.4 恢復(fù)的實(shí)現(xiàn)技術(shù),恢復(fù)機(jī)制涉及的關(guān)鍵問題 1. 如何建立冗余數(shù)據(jù) 數(shù)據(jù)轉(zhuǎn)儲(chǔ)(backup) 登錄日志文件(logging) 2. 如何利用這些冗余數(shù)據(jù)實(shí)施數(shù)據(jù)庫恢復(fù),10.4.1 數(shù)據(jù)轉(zhuǎn)儲(chǔ),一、什么是轉(zhuǎn)儲(chǔ),故障發(fā)生點(diǎn) 轉(zhuǎn)儲(chǔ) 運(yùn)行事務(wù) 正常運(yùn)行 Ta Tb Tf 重裝后
10、備副本 重新運(yùn)行事務(wù) 恢復(fù) 圖7.1 轉(zhuǎn)儲(chǔ)和恢復(fù),二、轉(zhuǎn)儲(chǔ)的用途,轉(zhuǎn)儲(chǔ)是指DBA將整個(gè)數(shù)據(jù)庫復(fù)制到磁帶或另一個(gè)磁盤上保存起來的過程。 這些備用的數(shù)據(jù)文本稱為后備副本或后援副本。,三、轉(zhuǎn)儲(chǔ)方法,1靜態(tài)轉(zhuǎn)儲(chǔ)與動(dòng)態(tài)轉(zhuǎn)儲(chǔ) 2海量轉(zhuǎn)儲(chǔ)與增量轉(zhuǎn)儲(chǔ),1靜態(tài)轉(zhuǎn)儲(chǔ),在系統(tǒng)中無運(yùn)行事務(wù)時(shí)進(jìn)行轉(zhuǎn)儲(chǔ); 轉(zhuǎn)儲(chǔ)開始時(shí)數(shù)據(jù)庫處于一致性狀態(tài); 轉(zhuǎn)儲(chǔ)期間不允許對(duì)數(shù)據(jù)庫的任何存取、修改活動(dòng); 優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單; 缺點(diǎn):降低了數(shù)據(jù)庫的可用性。 轉(zhuǎn)儲(chǔ)必須等用戶事務(wù)結(jié)束; 新的事務(wù)必須等轉(zhuǎn)儲(chǔ)結(jié)束。,2 動(dòng)態(tài)轉(zhuǎn)儲(chǔ),轉(zhuǎn)儲(chǔ)操作與用戶事務(wù)并發(fā)進(jìn)行; 轉(zhuǎn)儲(chǔ)期間允許對(duì)數(shù)據(jù)庫進(jìn)行存取或修改; 優(yōu)點(diǎn): 不用等待正在運(yùn)行的用戶事務(wù)結(jié)束; 不會(huì)影響新事務(wù)的
11、運(yùn)行。 動(dòng)態(tài)轉(zhuǎn)儲(chǔ)的缺點(diǎn): 不能保證副本中的數(shù)據(jù)正確有效。 利用動(dòng)態(tài)轉(zhuǎn)儲(chǔ)得到的副本進(jìn)行故障恢復(fù)時(shí); 需要把動(dòng)態(tài)轉(zhuǎn)儲(chǔ)期間各事務(wù)對(duì)數(shù)據(jù)庫的修改活動(dòng)登記下來,建立日志文件; 后備副本加上日志文件才能把數(shù)據(jù)庫恢復(fù)到某一時(shí)刻的正確狀態(tài)。,3海量轉(zhuǎn)儲(chǔ)與增量轉(zhuǎn)儲(chǔ),海量轉(zhuǎn)儲(chǔ): 每次轉(zhuǎn)儲(chǔ)全部數(shù)據(jù)庫。 增量轉(zhuǎn)儲(chǔ): 只轉(zhuǎn)儲(chǔ)上次轉(zhuǎn)儲(chǔ)后更新過的數(shù)據(jù)。 海量轉(zhuǎn)儲(chǔ)與增量轉(zhuǎn)儲(chǔ)比較: 從恢復(fù)角度看,使用海量轉(zhuǎn)儲(chǔ)得到的后備副本進(jìn)行恢復(fù)往往更方便; 但如果數(shù)據(jù)庫很大,事務(wù)處理又十分頻繁,則增量轉(zhuǎn)儲(chǔ)方式更實(shí)用更有效。,4轉(zhuǎn)儲(chǔ)方法小結(jié),表7.1 轉(zhuǎn)儲(chǔ)方法分類,5 轉(zhuǎn)儲(chǔ)策略,應(yīng)定期進(jìn)行數(shù)據(jù)轉(zhuǎn)儲(chǔ),制作后備副本。 但轉(zhuǎn)儲(chǔ)又是十分耗費(fèi)時(shí)間和資源
12、的,不能頻繁進(jìn)行。 DBA應(yīng)該根據(jù)數(shù)據(jù)庫使用情況確定適當(dāng)?shù)霓D(zhuǎn)儲(chǔ)周期和轉(zhuǎn)儲(chǔ)方法。 例: 每天晚上進(jìn)行動(dòng)態(tài)增量轉(zhuǎn)儲(chǔ) 每周進(jìn)行一次靜態(tài)增量轉(zhuǎn)儲(chǔ) 每月進(jìn)行一次靜態(tài)海量轉(zhuǎn)儲(chǔ),10.4.2 登記日志文件,一、日志文件的格式和內(nèi)容,1. 什么是日志文件 日志文件(log)是用來記錄事務(wù)對(duì)數(shù)據(jù)庫的更新操作的文件。 2. 日志文件的格式 以記錄為單位的日志文件 以數(shù)據(jù)塊為單位的日志文件 3.日志文件內(nèi)容,基于記錄的日志文件,日志文件的主要內(nèi)容 各個(gè)事務(wù)的開始標(biāo)記(BEGIN TRANSACTION); 各個(gè)事務(wù)的結(jié)束標(biāo)記(COMMIT或ROLLBACK); 各個(gè)事務(wù)的所有更新操作; 與事務(wù)有關(guān)的內(nèi)部更新操作。,
13、每條日志記錄的內(nèi)容 事務(wù)標(biāo)識(shí); 操作類型(插入、刪除或修改); 操作對(duì)象(記錄ID、Block NO.); 更新前數(shù)據(jù)的舊值(對(duì)插入操作而言,此項(xiàng)為空值); 更新后數(shù)據(jù)的新值(對(duì)刪除操作而言,此項(xiàng)為空值)。,日志文件中的一個(gè)日志記錄 (log record),Immediate DB Recovery Example,Below we show the log as it appears at three instances of time. Recovery actions in each case above are: (a) undo (T0): B is restored to 200
14、0 and A to 1000. (b) undo (T1) and redo (T0): C is restored to 700, and then A and B are set to 950 and 2050 respectively. (c) redo (T0) and redo (T1): A and B are set to 950 and 2050 respectively. Then C is set to 600,基于數(shù)據(jù)塊的日志文件,每條日志記錄的內(nèi)容 事務(wù)標(biāo)識(shí)(標(biāo)明是那個(gè)事務(wù)) 被新的數(shù)據(jù)塊。,由于將更新前的整個(gè)數(shù)據(jù)塊和更新事的整個(gè)數(shù)據(jù)塊都放入日志文件中,操作的類型和操
15、作的對(duì)象等信息就不必放入日志中了。,二、日志文件的作用,進(jìn)行事務(wù)故障恢復(fù) 進(jìn)行系統(tǒng)故障恢復(fù) 協(xié)助后備副本進(jìn)行介質(zhì)故障恢復(fù),動(dòng)態(tài)轉(zhuǎn)儲(chǔ)方式中必需建立日志文件和后備副本配合才能有效的恢復(fù)數(shù)據(jù)庫。 靜態(tài)轉(zhuǎn)儲(chǔ)方式也可以建立日志文件。 靜態(tài)轉(zhuǎn)儲(chǔ)的數(shù)據(jù)已是一致性的數(shù)據(jù); 如果靜態(tài)轉(zhuǎn)儲(chǔ)完成后,仍能定期轉(zhuǎn)儲(chǔ)日志文件,則在出現(xiàn)故障重裝數(shù)據(jù)副本后,可以利用這些日志文件副本對(duì)已完成的事務(wù)進(jìn)行重做處理,對(duì)故障發(fā)生時(shí)末完成的事務(wù)進(jìn)行撤消處理。 這樣不必重新運(yùn)行那些已完成的事務(wù)程序就可把數(shù)據(jù)庫恢復(fù)到故障前某一時(shí)刻的正確狀態(tài)。,利用日志文件恢復(fù),故障發(fā)生點(diǎn) 靜態(tài)轉(zhuǎn)儲(chǔ) 運(yùn)行事務(wù) 正常運(yùn)行 Ta Tb Tf 登記日志文件 重裝后
16、備副本 利用日志文件恢復(fù)事務(wù) 繼續(xù)運(yùn)行 介質(zhì)故障恢復(fù) 登記日志文件 ,三、登記日志文件的原則,登記的次序嚴(yán)格按并行事務(wù)執(zhí)行的時(shí)間次序 必須先寫日志文件,后寫數(shù)據(jù)庫 寫日志文件操作:把表示這個(gè)修改的日志記錄寫到日志文件 寫數(shù)據(jù)庫操作:把對(duì)數(shù)據(jù)的修改寫到數(shù)據(jù)庫中,為什么要先寫日志文件 寫數(shù)據(jù)庫和寫日志文件是兩個(gè)不同的操作,在這兩個(gè)操作之間可能發(fā)生故障; 如果先寫了數(shù)據(jù)庫修改,而在日志文件中沒有登記下這個(gè)修改,則以后就無法恢復(fù)這個(gè)修改了; 如果先寫日志,但沒有修改數(shù)據(jù)庫,按日志文件恢復(fù)時(shí)只不過是多執(zhí)行一次不必要的UNDO操作,并不會(huì)影響數(shù)據(jù)庫的正確性。,10.5 恢復(fù)策略,10.5.1 事務(wù)故障的恢
17、復(fù),事務(wù)故障:事務(wù)在運(yùn)行至正常終止點(diǎn)前被中止。 恢復(fù)方法由恢復(fù)子系統(tǒng)應(yīng)利用日志文件撤消(UNDO)此事務(wù)已對(duì)數(shù)據(jù)庫進(jìn)行的修改 事務(wù)故障的恢復(fù)由系統(tǒng)自動(dòng)完成,不需要用戶干預(yù),具體步驟如下:,1. 反向掃描文件日志(即從最后向前掃描日志文件),查找該事務(wù)的更新操作。 2. 對(duì)該事務(wù)的更新操作執(zhí)行逆操作。即將日志記錄中“更新前的值”(Befor Image, BI)寫入數(shù)據(jù)庫。 插入操作, “更新前的值”為空,則相當(dāng)于做刪除操作 刪除操作,“更新后的值”為空,則相當(dāng)于做插入操作 若是修改操作,則用BI 代替 AI(After Image) 3. 繼續(xù)反向掃描日志文件,查找該事務(wù)的其他更新操作,并做同
18、樣處理。 4. 如此處理下去,直至讀到此事務(wù)的開始標(biāo)記,事務(wù)故障恢復(fù)就完成了。,10.5.2 系統(tǒng)故障的恢復(fù),系統(tǒng)故障造成數(shù)據(jù)庫不一致狀態(tài)的原因: 一些未完成事務(wù)對(duì)數(shù)據(jù)庫的更新已寫入數(shù)據(jù)庫; 一些已提交事務(wù)對(duì)數(shù)據(jù)庫的更新還留在緩沖區(qū)沒來得及寫入數(shù)據(jù)庫。 恢復(fù)方法 1. Undo 故障發(fā)生時(shí)未完成的事務(wù) 2. Redo 已完成的事務(wù) 恢復(fù)由系統(tǒng)在重新啟動(dòng)時(shí)自動(dòng)完成,不需要用戶干預(yù)具體步驟如下:,1.正向掃描日志文件(即從頭掃描日志文件)建立: Redo隊(duì)列:在故障發(fā)生前已經(jīng)提交的事務(wù) Undo隊(duì)列:故障發(fā)生時(shí)尚未完成的事務(wù) 2. 對(duì)Undo隊(duì)列事務(wù)進(jìn)行UNDO處理 反向掃描日志文件,對(duì)每個(gè)UND
19、O事務(wù)的更新操作執(zhí)行逆操作。 3. 對(duì)Redo隊(duì)列事務(wù)進(jìn)行REDO處理 正向掃描日志文件,對(duì)每個(gè)REDO事務(wù)重新執(zhí)行登記的操作。,10.5.3 介質(zhì)故障的恢復(fù),一、重裝數(shù)據(jù)庫使數(shù)據(jù)庫恢復(fù)到一致性狀態(tài) 二、重做已完成的事務(wù),具體恢復(fù)步驟: 1. 裝入最新的后備數(shù)據(jù)庫副本,使數(shù)據(jù)庫恢復(fù)到最近一次轉(zhuǎn)儲(chǔ)時(shí)的一致性狀態(tài)。 對(duì)于靜態(tài)轉(zhuǎn)儲(chǔ)的數(shù)據(jù)庫副本,裝入后數(shù)據(jù)庫即處于一致性狀態(tài) 對(duì)于動(dòng)態(tài)轉(zhuǎn)儲(chǔ)的數(shù)據(jù)庫副本,還須同時(shí)裝入轉(zhuǎn)儲(chǔ)時(shí)刻的日志文件副本,利用與恢復(fù)系統(tǒng)故障相同的方法(即REDO+UNDO),才能將數(shù)據(jù)庫恢復(fù)到一致性狀態(tài)。,利用靜態(tài)轉(zhuǎn)儲(chǔ)副本將數(shù)據(jù)庫恢復(fù)到一致性狀態(tài),故障發(fā)生點(diǎn) 靜態(tài)轉(zhuǎn)儲(chǔ) 運(yùn)行事務(wù) 正常運(yùn)行
20、 Ta Tb Tf 登記日志文件 重裝后備副本 恢復(fù) ,利用動(dòng)態(tài)轉(zhuǎn)儲(chǔ)副本將數(shù)據(jù)庫恢復(fù)到一致性狀態(tài),Ta Tb Tf 動(dòng)態(tài)轉(zhuǎn)儲(chǔ) 運(yùn)行事務(wù) 故障發(fā)生點(diǎn) 正常運(yùn)行 登記日志文件 登記新日志文件 轉(zhuǎn)儲(chǔ)日志文件 重裝后備副本,然后利用轉(zhuǎn)儲(chǔ)的日志文件恢復(fù) 恢復(fù)到一 致性狀態(tài),10.5.3 介質(zhì)故障的恢復(fù),2. 裝入有關(guān)的日志文件副本,重做已完成的事務(wù)。 首先掃描日志文件,找出故障發(fā)生時(shí)已提交的事務(wù)的標(biāo)識(shí),將其記入重做隊(duì)列。 然后正向掃描日志文件,對(duì)重做隊(duì)列中的所有事務(wù)進(jìn)行重做處理。即將日志記錄中“更新后的值”寫入數(shù)據(jù)庫。 介質(zhì)故障的恢復(fù)需要DBA介入 DBA的工作 重裝最近轉(zhuǎn)儲(chǔ)的數(shù)據(jù)庫副本和有關(guān)的各日志文
21、件副本 執(zhí)行系統(tǒng)提供的恢復(fù)命令 具體的恢復(fù)操作仍由DBMS完成,10.6 具有檢查點(diǎn)的恢復(fù)技術(shù),一、問題的提出 搜索整個(gè)日志將耗費(fèi)大量的時(shí)間 REDO處理:重新執(zhí)行,浪費(fèi)了大量時(shí)間 二、具有檢查點(diǎn)(checkpoint)的恢復(fù)技術(shù) 在日志文件中增加檢查點(diǎn)記錄(checkpoint); 增加重新開始文件; 恢復(fù)子系統(tǒng)在登錄日志文件期間動(dòng)態(tài)地維護(hù)日志。,圖10-3,三、檢查點(diǎn)技術(shù),檢查點(diǎn)記錄的內(nèi)容 1. 建立檢查點(diǎn)時(shí)刻所有正在執(zhí)行的事務(wù)清單 2. 這些事務(wù)最近一個(gè)日志記錄的地址 重新開始文件的內(nèi)容 記錄各個(gè)檢查點(diǎn)記錄在日志文件中的地址,在檢查點(diǎn) 維護(hù)日志文件的步驟: 1.將當(dāng)前日志緩沖區(qū)中的所有日志記錄寫入磁盤的日志文件上。 2.在日志文件中寫入一個(gè)檢查點(diǎn)記錄。 3. 將當(dāng)前數(shù)據(jù)緩沖區(qū)的所有數(shù)據(jù)記錄寫入磁盤的數(shù)據(jù)庫中。 4. 把檢查點(diǎn)記錄在日志文件中的地址寫入一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中學(xué)英語聽力訓(xùn)練方案設(shè)計(jì)
- 2026年詮釋建筑電氣設(shè)計(jì)規(guī)范的案例
- 2026年橋梁工程的市場(chǎng)定價(jià)策略
- 2026年制定電氣火災(zāi)應(yīng)急救援計(jì)劃的要點(diǎn)
- 2026年大數(shù)據(jù)在電氣節(jié)能與綠色建筑中的應(yīng)用
- 【2025年】藥物醫(yī)療器械臨床試驗(yàn)培訓(xùn)考核試卷有答案
- 2026年職業(yè)道德在土木行業(yè)的重要性
- 基于體內(nèi)外測(cè)試的新型氧哌嗪青霉素抗菌活性評(píng)估-洞察及研究
- 光照加速包裝材料降解-洞察及研究
- 肥胖小鼠腸道菌群組成改變與線粒體功能障礙的相互影響-洞察及研究
- 賈俊平《統(tǒng)計(jì)學(xué)》第7版復(fù)習(xí)筆記和課后習(xí)題答案+習(xí)題及詳解
- 教學(xué)第九章-人體寄生蟲概述課件
- 2020年華為采購物料環(huán)保規(guī)范?V4
- 綠化養(yǎng)護(hù)、保潔服務(wù)重點(diǎn)難點(diǎn)分析及解決措施
- 企業(yè)管理GoldenSample管理辦法
- 湖北大學(xué)教職工登記表
- 2020年注冊(cè)會(huì)計(jì)師(CPA)16第十六章收入、費(fèi)用和利潤(rùn)(2020新教材版)課件
- 隧道穿越大型活動(dòng)斷裂帶的技術(shù)對(duì)策
- 匯川伺服追剪控制指導(dǎo)說明完整版
- GB∕T 5273-2016 高壓電器端子尺寸標(biāo)準(zhǔn)化(高清版)
- GB 190-2009 危險(xiǎn)貨物包裝標(biāo)志(高清版)
評(píng)論
0/150
提交評(píng)論