版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1第10章
數(shù)據(jù)庫(kù)恢復(fù)技術(shù)
2
要點(diǎn)(1)事務(wù)(2)故障及其類(lèi)型(3)數(shù)據(jù)庫(kù)恢復(fù)實(shí)現(xiàn)技術(shù)(4)數(shù)據(jù)庫(kù)恢復(fù)策略310.1事務(wù)的基本概念10.1.1事務(wù)(Transaction)1.事務(wù)【定義】用戶定義的一個(gè)對(duì)數(shù)據(jù)庫(kù)讀寫(xiě)操作序列,是一個(gè)不可分割的工作單位。(1)在關(guān)系數(shù)據(jù)庫(kù)中,事務(wù)可以是一條、一組SQL語(yǔ)句,或整個(gè)程序。(2)數(shù)據(jù)庫(kù)系統(tǒng)中通常有多個(gè)事務(wù)并行運(yùn)行。(3)數(shù)據(jù)庫(kù)恢復(fù)和并發(fā)控制的基本單位。2.事務(wù)和程序的區(qū)別程序可以包含多個(gè)事務(wù)。43.SQL語(yǔ)言中事務(wù)的定義語(yǔ)句事務(wù)的開(kāi)始和結(jié)束可以由用戶顯式控制。如果用戶沒(méi)有定義,則由DBMS按缺省規(guī)定自動(dòng)劃分事務(wù)。SQL定義事務(wù)的語(yǔ)句:Begintransaction(事務(wù)開(kāi)始)…Commit(事務(wù)提交,正常結(jié)束,將更新結(jié)果寫(xiě)入磁盤(pán))/Rollback(事務(wù)回滾,撤銷(xiāo)事務(wù)中所有已完成的更新)5BEGINTRANSACTION
讀賬戶甲的余額balance;balance=balance–amount;//amount為轉(zhuǎn)賬金額
if(balance<0)then{打印‘金額不足,不能轉(zhuǎn)賬’;
ROLLBACK;//撤銷(xiāo)剛才的修改,恢復(fù)事務(wù)
}else{讀賬戶乙的金額balance1;balance1=balance1+amount;
寫(xiě)回balance1;
COMMIT;}事務(wù)示例610.1.2事務(wù)的性質(zhì)(ACID特性)1.原子性(Atomicity)事務(wù)中的操作要么都做,要么都不做(AllorNone)。2.一致性(Consistency)事務(wù)執(zhí)行的結(jié)果必須使數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)。
與原子性密切相關(guān)7事務(wù)的性質(zhì)(ACID特性)3.隔離性(Isolation)并發(fā)執(zhí)行的各事務(wù)不能相互干擾4.持續(xù)性/永久性(Durability)事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫(kù)的更新不再受后繼操作或故障的影響
DBMS中事務(wù)處理必須保證其ACID特性,這樣才能保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全和正確。8事務(wù)型DBMS中必備的機(jī)制(1)事務(wù)是恢復(fù)和并發(fā)控制的基本單位(2)恢復(fù)機(jī)制與并發(fā)控制機(jī)制的提出事務(wù)在運(yùn)行過(guò)程中因某種故障被強(qiáng)行終止,數(shù)據(jù)庫(kù)一致性被破壞,需進(jìn)行恢復(fù)。多個(gè)事務(wù)并行運(yùn)行時(shí),不同事務(wù)的各種操作交叉進(jìn)行,為保證各事務(wù)的執(zhí)行互不干擾,需進(jìn)行并發(fā)控制。910.2數(shù)據(jù)庫(kù)恢復(fù)概述數(shù)據(jù)庫(kù)由于某些故障發(fā)生可能會(huì)導(dǎo)致數(shù)據(jù)庫(kù)被破壞或影響數(shù)據(jù)庫(kù)中數(shù)據(jù)的一致性(或完整性、正確性)。當(dāng)系統(tǒng)運(yùn)行過(guò)程中發(fā)生故障時(shí),數(shù)據(jù)庫(kù)恢復(fù)技術(shù)將數(shù)據(jù)庫(kù)從錯(cuò)誤狀態(tài)恢復(fù)到某個(gè)一致?tīng)顟B(tài),它是數(shù)據(jù)庫(kù)可靠性的保證。數(shù)據(jù)庫(kù)恢復(fù)機(jī)制是衡量某DBMS系統(tǒng)性能的指標(biāo)之一,對(duì)系統(tǒng)可靠性起決定作用,對(duì)運(yùn)行效率有很大影響。1010.3故障的種類(lèi)及其影響10.3.1故障的種類(lèi)1.事務(wù)內(nèi)部故障事務(wù)在運(yùn)行至正常終止點(diǎn)(commit或rollback)前被終止。包括(預(yù)期的、非預(yù)期的)能由事務(wù)所在程序處理的,如條件不滿足等。不能由事務(wù)所在程序處理的,如運(yùn)算溢出等。這類(lèi)恢復(fù)操作稱(chēng)為事務(wù)撤消。預(yù)期故障非預(yù)期故障11故障的種類(lèi)2.系統(tǒng)故障(system)
系統(tǒng)重啟、OS故障、DBMS代碼錯(cuò)誤、掉電等。發(fā)生系統(tǒng)故障時(shí):(1)一些尚未完成的事務(wù)的結(jié)果可能已經(jīng)寫(xiě)入數(shù)據(jù)庫(kù)。(UNDO)(2)有些已完成的事務(wù)的結(jié)果甚至駐留在緩沖區(qū)中。(REDO)12故障的種類(lèi)3.介質(zhì)故障(medium)介質(zhì)故障也稱(chēng)為硬故障。如:磁盤(pán)損壞等。這類(lèi)事故破壞數(shù)據(jù)庫(kù)或部分?jǐn)?shù)據(jù)庫(kù)。4.計(jì)算機(jī)病毒(virus)這類(lèi)事故破壞數(shù)據(jù)庫(kù)或部分?jǐn)?shù)據(jù)庫(kù)。1310.3.2故障對(duì)數(shù)據(jù)庫(kù)的可能影響(1)數(shù)據(jù)庫(kù)本身被破壞,使數(shù)據(jù)庫(kù)中全部或部分?jǐn)?shù)據(jù)丟失。如:介質(zhì)故障、計(jì)算機(jī)病毒等。(2)數(shù)據(jù)庫(kù)沒(méi)有被破壞,但因事務(wù)的運(yùn)行被非正常終止而使數(shù)據(jù)庫(kù)數(shù)據(jù)失去一致性(正確性)。如:事務(wù)內(nèi)部故障、系統(tǒng)故障、計(jì)算機(jī)病毒等。1410.4恢復(fù)的實(shí)現(xiàn)技術(shù)(1)數(shù)據(jù)庫(kù)恢復(fù)的基本原理利用存儲(chǔ)在系統(tǒng)別處的冗余數(shù)據(jù)來(lái)重建。(2)恢復(fù)技術(shù)的兩個(gè)關(guān)鍵①如何建立冗余數(shù)據(jù)數(shù)據(jù)轉(zhuǎn)儲(chǔ)登錄日志文件②如何利用冗余數(shù)據(jù)恢復(fù)數(shù)據(jù)庫(kù)1510.4.1建立冗余數(shù)據(jù)的方法一:數(shù)據(jù)轉(zhuǎn)儲(chǔ)轉(zhuǎn)儲(chǔ)狀態(tài)動(dòng)態(tài)轉(zhuǎn)儲(chǔ)靜態(tài)轉(zhuǎn)儲(chǔ)轉(zhuǎn)儲(chǔ)方式海量轉(zhuǎn)儲(chǔ)動(dòng)態(tài)海量轉(zhuǎn)儲(chǔ)靜態(tài)海量轉(zhuǎn)儲(chǔ)增量轉(zhuǎn)儲(chǔ)動(dòng)態(tài)增量轉(zhuǎn)儲(chǔ)靜態(tài)增量轉(zhuǎn)儲(chǔ)每次轉(zhuǎn)儲(chǔ)全部數(shù)據(jù)庫(kù)每次轉(zhuǎn)儲(chǔ)更新過(guò)的數(shù)據(jù)轉(zhuǎn)儲(chǔ)和用戶事務(wù)可以并發(fā)執(zhí)行轉(zhuǎn)儲(chǔ)期間不執(zhí)行任何用戶事務(wù)數(shù)據(jù)轉(zhuǎn)儲(chǔ):定期進(jìn)行磁盤(pán)備份形成后備副本由DBA定義適當(dāng)?shù)霓D(zhuǎn)儲(chǔ)周期。16數(shù)據(jù)轉(zhuǎn)儲(chǔ)和恢復(fù)正常運(yùn)行:靜態(tài)轉(zhuǎn)儲(chǔ)運(yùn)行事務(wù)故障發(fā)生點(diǎn)登記日志文件TaTbTf恢復(fù):重裝后備副本轉(zhuǎn)儲(chǔ)耗費(fèi)時(shí)間、資源,應(yīng)定期進(jìn)行重新運(yùn)行事務(wù)轉(zhuǎn)儲(chǔ)和恢復(fù)1710.4.2建立冗余數(shù)據(jù)的方法二——登記日志文件1.登記日志文件(Logging)日志文件:記錄事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新操作。(1)以記錄為單位的日志文件事務(wù)的開(kāi)始標(biāo)記,事務(wù)的結(jié)束標(biāo)記各個(gè)事務(wù)的所有更新操作日志記錄的內(nèi)容:事務(wù)標(biāo)識(shí)TransID,操作類(lèi)型UpdateType,操作對(duì)象RecordID,更新前的舊值OldValue,更新后的新值NewValue(2)以數(shù)據(jù)塊為單位的日志文件事務(wù)標(biāo)識(shí),被更新的數(shù)據(jù)塊18(3)登記日志文件必須遵循的原則①登記的次序嚴(yán)格按并發(fā)事務(wù)執(zhí)行的時(shí)間次序。②必須先寫(xiě)日志文件,后寫(xiě)數(shù)據(jù)庫(kù)。(WriteAfterLogging)192.恢復(fù)的實(shí)現(xiàn)
通常在一個(gè)數(shù)據(jù)庫(kù)中綜合使用數(shù)據(jù)轉(zhuǎn)儲(chǔ)和登錄日志文件這兩種方法,配合使用后備副本和日志文件進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)。利用日志文件進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)(1)事務(wù)故障恢復(fù)和系統(tǒng)故障恢復(fù)須用日志文件(2)通常綜合數(shù)據(jù)庫(kù)后備副本和日志文件將數(shù)據(jù)庫(kù)恢復(fù)至某個(gè)一致?tīng)顟B(tài)(視轉(zhuǎn)儲(chǔ)方法而定)(3)恢復(fù)時(shí),對(duì)故障發(fā)生時(shí)已提交的事務(wù)進(jìn)行重做(Redo,再執(zhí)行),而對(duì)未提交的事務(wù)進(jìn)行撤銷(xiāo)(Undo,逆操作)2110.5恢復(fù)策略10.5.1事務(wù)故障的恢復(fù)(1)反向掃描日志文件,查找事務(wù)的更新操作。(2)對(duì)該事務(wù)中的更新操作執(zhí)行逆向操作。說(shuō)明:由系統(tǒng)自動(dòng)完成。10.5.2系統(tǒng)故障的恢復(fù)(1)正向掃描日志文件,生成Redo(已提交的事務(wù))和Undo隊(duì)列(尚未完成的事務(wù))。(2)對(duì)Undo隊(duì)列中的各事務(wù)進(jìn)行Undo。(3)對(duì)Redo隊(duì)列中的各事務(wù)進(jìn)行Redo。說(shuō)明:由系統(tǒng)在重啟時(shí)自動(dòng)完成。2210.5.3介質(zhì)故障的恢復(fù)(1)裝入最新后備副本和有關(guān)日志文件副本使數(shù)據(jù)庫(kù)恢復(fù)到最近一次轉(zhuǎn)儲(chǔ)時(shí)的一致性狀態(tài)。(2)正向掃描日志文件,生成Redo(已提交的事務(wù))和Undo隊(duì)列(尚未完成的事務(wù))。(3)對(duì)Undo隊(duì)列中的各事務(wù)進(jìn)行Undo。(4)對(duì)Redo隊(duì)列中的各事務(wù)進(jìn)行Redo。說(shuō)明:裝入副本由DBA介入完成,并執(zhí)行DBMS提供的恢復(fù)命令。2310.6具有檢查點(diǎn)的恢復(fù)技術(shù)1.引入檢查點(diǎn)的原因(CheckPoint)減少對(duì)日志記錄的搜索和Redo處理,改善恢復(fù)效率。即數(shù)據(jù)更新已寫(xiě)庫(kù),不需REDO處理。2.具有檢查點(diǎn)的恢復(fù)技術(shù)(1)在日志文件中增加檢查點(diǎn)記錄,其內(nèi)容包括:建立檢查點(diǎn)時(shí)刻所有正在執(zhí)行的事務(wù)清單。這些事務(wù)最近一個(gè)日志記錄的地址。24具有檢查點(diǎn)的恢復(fù)技術(shù)(2)增加重新開(kāi)始文件 用來(lái)記錄各個(gè)檢查點(diǎn)記錄在日志文件中的地址動(dòng)態(tài)維護(hù)日志文件的方法:周期性地執(zhí)行(定期或不定期)如下操作:建立檢查點(diǎn),保存數(shù)據(jù)庫(kù)狀態(tài)。253.建立檢查點(diǎn)的步驟(1)將當(dāng)前日志緩沖中的所有日志記錄寫(xiě)入磁盤(pán)的日志文件;(2)在日志文件中寫(xiě)入一個(gè)檢查點(diǎn)記錄;(3)將當(dāng)前數(shù)據(jù)緩沖區(qū)的所有數(shù)據(jù)記錄寫(xiě)入磁盤(pán)的數(shù)據(jù)庫(kù)中;(4)把檢查點(diǎn)記錄在日志文件中的地址寫(xiě)入一個(gè)重新開(kāi)始文件。264.使用檢查點(diǎn)恢復(fù)技術(shù)進(jìn)行恢復(fù)的步驟(1)從重新開(kāi)始文件中找到最后一個(gè)檢查點(diǎn)記錄在日志文件中的地址,由該地址在日志文件中找到最后一個(gè)檢查點(diǎn)記錄;(2)由該檢查點(diǎn)記錄得到檢查點(diǎn)建立時(shí)刻所有正在執(zhí)行的事務(wù)清單;(3)從檢查點(diǎn)開(kāi)始正向掃描日志文件;(4)有新開(kāi)始的事務(wù)Ti,把Ti暫時(shí)放入U(xiǎn)ndo隊(duì)列;(5)如有提交的事務(wù)Tj,把Tj移入Redo隊(duì)列;(6)對(duì)Undo隊(duì)列中的各事務(wù)進(jìn)行Undo,再對(duì)Redo隊(duì)列中的各事務(wù)進(jìn)行Redo。27實(shí)例:恢復(fù)子系統(tǒng)采取的不同策略T1T2T3T5T4時(shí)間系統(tǒng)故障檢查點(diǎn)不要REDOREDO撤銷(xiāo)REDO撤銷(xiāo)2810.7數(shù)據(jù)庫(kù)鏡像(Mirror)
1.概念數(shù)據(jù)庫(kù)鏡像為避免介質(zhì)故障造成的損失而提出的,由DBA提出要求或當(dāng)主數(shù)據(jù)庫(kù)更新時(shí),DBMS
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 吉林省長(zhǎng)春市南關(guān)區(qū)2024-2025學(xué)年八年級(jí)上學(xué)期10月期中生物試題(含答案)
- 低空經(jīng)濟(jì)產(chǎn)業(yè)園時(shí)間安排方案
- 贛南師范大學(xué)《電視名專(zhuān)欄研究》2022-2023學(xué)年第一學(xué)期期末試卷
- 阜陽(yáng)師范大學(xué)《音樂(lè)學(xué)科課程與教學(xué)技能實(shí)訓(xùn)》2022-2023學(xué)年第一學(xué)期期末試卷
- 阜陽(yáng)師范大學(xué)《公共工程項(xiàng)目管理》2022-2023學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)協(xié)和學(xué)院《國(guó)際服務(wù)貿(mào)易》2021-2022學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《寫(xiě)意花鳥(niǎo)畫(huà)》2023-2024學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《課堂教學(xué)技能》2022-2023學(xué)年第一學(xué)期期末試卷
- 第8章 SOPC技術(shù)開(kāi)發(fā)概述課件
- 檔案交接文據(jù)(歸檔)
- SOAP病歷冠心病介紹
- 江蘇省南京市玄武區(qū)2023-2024學(xué)年七年級(jí)上學(xué)期期中英語(yǔ)試卷
- 新媒體視聽(tīng)節(jié)目制作 第八章 剪輯的法則
- 軍品保密協(xié)議管理制度
- GB/T 43232-2023緊固件軸向應(yīng)力超聲測(cè)量方法
- 2023年湖南長(zhǎng)沙環(huán)境保護(hù)職業(yè)技術(shù)學(xué)院招聘專(zhuān)任教師筆試參考題庫(kù)(共500題)答案詳解版
- 南京玄武區(qū)某校2023-2024五年級(jí)上冊(cè)語(yǔ)文期中試卷及答案
- 國(guó)企公司經(jīng)理層年度(任期)經(jīng)營(yíng)業(yè)績(jī)考核及薪酬辦法 附反饋表與評(píng)估表
- 中國(guó)(教育部)留學(xué)服務(wù)中心社會(huì)招聘筆試試題及答案2022
- 幼兒園優(yōu)質(zhì)公開(kāi)課:中班健康《逃生大闖關(guān)》課件
- 白酒基礎(chǔ)知識(shí)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論