




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)系統(tǒng)概論AnIntroductiontoDatabaseSystem第十章數(shù)據(jù)庫(kù)恢復(fù)技術(shù)概述第十章(數(shù)據(jù)恢復(fù)技術(shù))和第十一章(并發(fā)控制)主要討論事務(wù)處理技術(shù),即如何通過(guò)對(duì)事務(wù)的處理來(lái)恢復(fù)數(shù)據(jù)庫(kù),以及多個(gè)事務(wù)并發(fā)執(zhí)行時(shí)為保證數(shù)據(jù)的正確有效而采取的控制措施。數(shù)據(jù)恢復(fù)技術(shù)和并發(fā)控制技術(shù)是DBMS的重要組成部分。10.1.1事務(wù)(Transaction)的定義事務(wù)的定義:是用戶定義的一個(gè)數(shù)據(jù)庫(kù)操作序列,這些操作要么全做,要么全不做,是一個(gè)不可分割的工作單位。比如,一個(gè)事務(wù)可以包含一個(gè)或多個(gè)SQL語(yǔ)句。事務(wù)的顯式定義方式
BEGINTRANSACTION
BEGINTRANSACTION
SQL語(yǔ)句1
SQL語(yǔ)句1
SQL語(yǔ)句2
SQL語(yǔ)句2……
COMMIT
ROLLBACK說(shuō)明:COMMIT:提交,表示事務(wù)順利完成,即對(duì)數(shù)據(jù)庫(kù)的更新可以寫(xiě)回?cái)?shù)據(jù)庫(kù);ROLLBACK:回滾,表示事務(wù)因故沒(méi)有完成,取消事務(wù)中已經(jīng)完成的操作,使數(shù)據(jù)庫(kù)回復(fù)到事務(wù)執(zhí)行前的狀態(tài)。隱式方式當(dāng)用戶沒(méi)有顯式地定義事務(wù)時(shí),DBMS按缺省規(guī)定自動(dòng)劃分事務(wù)10.1.2一個(gè)事務(wù)的例子例如:有一事務(wù),要完成的操作是從賬戶A轉(zhuǎn)出10000元,轉(zhuǎn)入B賬戶BEGINTRANSACTIONR(A);A=A-10000;W(A);IF(A<0)ROOOBACK;ELSE{R(B);B=B+10000;W(B)COMMIT;}數(shù)據(jù)庫(kù)內(nèi)存緩沖區(qū)CPUW(A)R(A)10.1.3事務(wù)的特性事務(wù)的ACID特性:原子性(Atomicity)一個(gè)事務(wù)中所包含的操作要么全做要么全不做。保證原子性是由DBMS的事務(wù)管理子系統(tǒng)來(lái)實(shí)現(xiàn)一致性(Consistency)事務(wù)的執(zhí)行應(yīng)保證數(shù)據(jù)的一致性。保證一致性是事務(wù)編寫(xiě)人員的職責(zé),但由DBMS的完整性子系統(tǒng)進(jìn)行測(cè)試10.1.3事務(wù)的特性事務(wù)的ACID特性:隔離性(Isolation)事務(wù)之間不能相互干擾,主要體現(xiàn)在一個(gè)事務(wù)正在訪問(wèn)的數(shù)據(jù)其他事務(wù)不能訪問(wèn)。保證隔離性由DBMS的并發(fā)控制子系統(tǒng)來(lái)實(shí)現(xiàn)。持續(xù)性(Durability)事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫(kù)的改變是有效的,即使發(fā)生故障改變也不會(huì)改變。持續(xù)性由DBMS的數(shù)據(jù)恢復(fù)子系統(tǒng)實(shí)現(xiàn)。10.2數(shù)據(jù)庫(kù)恢復(fù)概述故障是不可避免的故障的種類:事務(wù)故障,系統(tǒng)故障(非正常重啟),介質(zhì)故障,病毒數(shù)據(jù)庫(kù)的恢復(fù) 把數(shù)據(jù)庫(kù)從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)(亦稱為一致?tīng)顟B(tài)或完整狀態(tài))恢復(fù)數(shù)據(jù)庫(kù)的技術(shù)保證:1.適時(shí)做好數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)。2.登記日志文件10.3.1日志文件的格式和內(nèi)容什么是日志文件日志文件(log)是用來(lái)記錄事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新操作的文件日志文件中存儲(chǔ)的一條條日志記錄,每個(gè)記錄包含以下內(nèi)容:事務(wù)標(biāo)識(shí)(標(biāo)明是哪個(gè)事務(wù))事務(wù)的開(kāi)始、結(jié)束標(biāo)志操作類型(插入、刪除或修改)操作對(duì)象(記錄內(nèi)部標(biāo)識(shí))更新前數(shù)據(jù)的舊值(對(duì)插入操作而言,此項(xiàng)為空值)更新后數(shù)據(jù)的新值(對(duì)刪除操作而言,此項(xiàng)為空值)10.3.2登記日志文件的原則登記的次序嚴(yán)格按照并行事務(wù)執(zhí)行的時(shí)間次序必須先寫(xiě)日志文件,后寫(xiě)數(shù)據(jù)庫(kù)寫(xiě)日志文件操作:把表示這個(gè)修改的日志記錄寫(xiě)到日志文件寫(xiě)數(shù)據(jù)庫(kù)操作:把對(duì)數(shù)據(jù)的修改寫(xiě)到數(shù)據(jù)庫(kù)中10.3.2登記日志文件的原則為什么要先寫(xiě)日志文件寫(xiě)數(shù)據(jù)庫(kù)和寫(xiě)日志文件是兩個(gè)不同的操作在這兩個(gè)操作之間可能發(fā)生故障如果先寫(xiě)了數(shù)據(jù)庫(kù)修改,而在日志文件中沒(méi)有登記下這個(gè)修改,則以后就無(wú)法恢復(fù)這個(gè)修改了如果先寫(xiě)日志,但沒(méi)有修改數(shù)據(jù)庫(kù),按日志文件恢復(fù)時(shí)只不過(guò)是多執(zhí)行一次不必要的UNDO操作,并不會(huì)影響數(shù)據(jù)庫(kù)的正確性10.4.1事務(wù)故障的恢復(fù)策略事務(wù)故障:事務(wù)在運(yùn)行至正常終止點(diǎn)前被終止恢復(fù)方法由恢復(fù)子系統(tǒng)利用日志文件撤消(UNDO)此事務(wù)已對(duì)數(shù)據(jù)庫(kù)進(jìn)行的修改事務(wù)故障的恢復(fù)由系統(tǒng)自動(dòng)完成,對(duì)用戶是透明的,不需要用戶干預(yù)10.4.2系統(tǒng)故障的恢復(fù)策略系統(tǒng)故障造成數(shù)據(jù)庫(kù)不一致?tīng)顟B(tài)的原因未完成事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新已寫(xiě)入數(shù)據(jù)庫(kù)已提交事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新還留在緩沖區(qū)沒(méi)來(lái)得及寫(xiě)入數(shù)據(jù)庫(kù)恢復(fù)方法1.Undo故障發(fā)生時(shí)未完成的事務(wù)2.Redo已完成的事務(wù)系統(tǒng)故障的恢復(fù)由系統(tǒng)在重新啟動(dòng)時(shí)自動(dòng)完成,不需要用戶干預(yù)10.4.3介質(zhì)故障的恢復(fù)策略裝入最新的后備數(shù)據(jù)庫(kù)副本2.裝入有關(guān)的日志文件副本(轉(zhuǎn)儲(chǔ)結(jié)束時(shí)刻的日志文件副本),重做已完成的事務(wù)。
轉(zhuǎn)儲(chǔ)
運(yùn)行事務(wù)故障正常運(yùn)行─┼───────┼──────────|───Ta停止所有事務(wù)TbTf └────────────重裝后備副本
利用日志文件恢復(fù)繼續(xù)運(yùn)行恢復(fù)
─┼───────┼┈┈┈┈┈┈┈┈┼────第十章數(shù)據(jù)庫(kù)恢復(fù)技術(shù)10.1事務(wù)的基本概念10.2數(shù)據(jù)庫(kù)恢復(fù)概述10.3故障的種類10.4恢復(fù)的實(shí)現(xiàn)技術(shù)10.5恢復(fù)策略10.6具有檢查點(diǎn)的恢復(fù)技術(shù)10.7數(shù)據(jù)庫(kù)鏡像10.8小結(jié)10.5.1具有檢查點(diǎn)的恢復(fù)技術(shù)一、問(wèn)題的提出一旦發(fā)生故障,那些事務(wù)REDO,那些事務(wù)UNDO?二、檢查點(diǎn)技術(shù)在DBS運(yùn)行時(shí),DBMS定時(shí)設(shè)置檢查點(diǎn),只有在檢查點(diǎn)時(shí)刻才真正把對(duì)數(shù)據(jù)庫(kù)的修改寫(xiě)到磁盤(pán),并在日志文件中寫(xiě)入一條檢查點(diǎn)記錄。當(dāng)恢復(fù)數(shù)據(jù)庫(kù)時(shí),只有那些在最近的檢查點(diǎn)沒(méi)有完成寫(xiě)操作的事務(wù)需要處理。10.5.2利用檢查點(diǎn)的恢復(fù)策略系統(tǒng)出現(xiàn)故障時(shí),恢復(fù)子系統(tǒng)將根據(jù)事務(wù)的不同狀態(tài)采取不同的恢復(fù)策略
T1:不用管T2:REDUT3:UNDOT4::REDOT5:UNDO10.5.2利用檢查點(diǎn)的恢復(fù)策略T1:在檢查點(diǎn)之前提交T2:在檢查點(diǎn)之前開(kāi)始執(zhí)行,在檢查點(diǎn)之后故障點(diǎn)之前提交T3:在檢查點(diǎn)之前開(kāi)始執(zhí)行,在故障點(diǎn)時(shí)還未完成T4:在檢查點(diǎn)之后開(kāi)始執(zhí)行,在故障點(diǎn)之前提交T5:在檢查點(diǎn)之后開(kāi)始執(zhí)行,在故障點(diǎn)時(shí)還未完成恢復(fù)策略:T3和T5在故障發(fā)生時(shí)還未完成,所以予以撤銷T2和T4在檢查點(diǎn)之后才提交,它們對(duì)數(shù)據(jù)庫(kù)所做的修改在故障發(fā)生時(shí)可能還在緩沖區(qū)中,尚未寫(xiě)入數(shù)據(jù)庫(kù),所以要REDOT1在檢查點(diǎn)之前已提交,所以不必執(zhí)行REDO操作10.6數(shù)據(jù)庫(kù)鏡像介質(zhì)故障是對(duì)系統(tǒng)影響最為嚴(yán)重的一種故障,嚴(yán)重影響數(shù)據(jù)庫(kù)的可用性介質(zhì)故障恢復(fù)比較費(fèi)時(shí)為預(yù)防介質(zhì)故障,DBA必須周期性地轉(zhuǎn)儲(chǔ)數(shù)據(jù)庫(kù)提高數(shù)據(jù)庫(kù)可用性的解決方案數(shù)據(jù)庫(kù)鏡像(Mirror)10.6數(shù)據(jù)庫(kù)鏡像(續(xù))數(shù)據(jù)庫(kù)鏡像DBMS自動(dòng)把整個(gè)數(shù)據(jù)庫(kù)或其中的關(guān)鍵數(shù)據(jù)復(fù)制到另一個(gè)磁盤(pán)上DBMS自動(dòng)保證鏡像數(shù)據(jù)與主數(shù)據(jù)庫(kù)的一致性每當(dāng)主數(shù)據(jù)庫(kù)更新時(shí),DBMS自動(dòng)把更新后的數(shù)據(jù)復(fù)制過(guò)去(如下圖所示)數(shù)據(jù)庫(kù)鏡像(續(xù))數(shù)據(jù)庫(kù)鏡像的用途出現(xiàn)介質(zhì)故障時(shí)可由鏡像磁盤(pán)繼續(xù)提供使用同時(shí)DBMS自動(dòng)利用鏡像磁盤(pán)數(shù)據(jù)進(jìn)行數(shù)據(jù)庫(kù)的恢復(fù)不需要關(guān)閉系統(tǒng)和重裝數(shù)據(jù)庫(kù)副本(如下圖所示)數(shù)據(jù)庫(kù)鏡像(續(xù))沒(méi)有出現(xiàn)故障時(shí)可用于并發(fā)操作一個(gè)用戶對(duì)數(shù)據(jù)加排他鎖修改數(shù)據(jù),其他用戶可以讀鏡像數(shù)據(jù)庫(kù)上的數(shù)據(jù),而不必等待該用戶釋放鎖
10.7小結(jié)如果數(shù)據(jù)庫(kù)只包含成功事務(wù)提交的結(jié)果,就說(shuō)數(shù)據(jù)庫(kù)處于一致性狀態(tài)。保證數(shù)據(jù)一致性是對(duì)數(shù)據(jù)庫(kù)的最基本的要求。事務(wù)是數(shù)據(jù)庫(kù)的邏輯工作單位DBMS保證系統(tǒng)中一切事務(wù)的原子性、一致性、隔離性和持續(xù)性小結(jié)(續(xù))DBMS必須對(duì)事務(wù)故障、系統(tǒng)故障和介質(zhì)故障進(jìn)行恢復(fù)恢復(fù)中最經(jīng)常使用的技術(shù):數(shù)據(jù)庫(kù)轉(zhuǎn)儲(chǔ)和登記日志文件恢復(fù)的基本原理:利用
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 承包商公司管理制度
- 病區(qū)醫(yī)療組管理制度
- 書(shū)法學(xué)員管理制度
- 服裝erp管理制度
- 物業(yè)小區(qū)保潔管理制度
- 汽車職業(yè)健康管理制度
- 演藝團(tuán)隊(duì)運(yùn)營(yíng)管理制度
- 渦流紡紗設(shè)備管理制度
- 手工制作公司管理制度
- 貴州凱得利管理制度
- 風(fēng)箏的力學(xué)原理
- 愛(ài)是我的眼睛合唱譜
- 中國(guó)缺血性卒中和短暫性腦缺血發(fā)作二級(jí)預(yù)防指南(2022年版)解讀
- 初中化學(xué)實(shí)驗(yàn)教學(xué)進(jìn)度表
- 橋梁病害診斷及維修加固
- 關(guān)稅系統(tǒng)崗位練兵業(yè)務(wù)知識(shí)測(cè)試題庫(kù)(關(guān)稅業(yè)務(wù)知識(shí))(單項(xiàng)選擇題)附答案
- 2023年云南高中數(shù)學(xué)會(huì)考真題
- LY/T 1783.2-2017黑熊繁育利用技術(shù)規(guī)范第2部分:飼養(yǎng)管理
- 《士兵突擊》課件
- 接觸網(wǎng)施工計(jì)算課件
- 標(biāo)本的運(yùn)送流程課件
評(píng)論
0/150
提交評(píng)論