版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第10章數(shù)據(jù)庫恢復(fù)技術(shù)要點事務(wù)的概念和性質(zhì)數(shù)據(jù)庫恢復(fù)技術(shù)故障的種類及對數(shù)據(jù)庫的影響數(shù)據(jù)庫恢復(fù)的目的和實現(xiàn)技術(shù)10.1事務(wù)的基本概念事務(wù)(Transaction)用戶定義的一個對數(shù)據(jù)庫讀寫操作序列。一個不可分割的工作單位。數(shù)據(jù)庫恢復(fù)和并發(fā)控制的基本單位。數(shù)據(jù)庫系統(tǒng)中通常有多個事務(wù)并行運行。在關(guān)系數(shù)據(jù)庫中,事務(wù)可以是一條、一組SQL語句,或整個程序。SQL語言中定義事務(wù)的語句事務(wù)的開始和結(jié)束可以由用戶顯式控制。如果用戶沒有定義,則由DBMS按缺省規(guī)定自動劃分事務(wù)。SQL定義事務(wù)的語句Begintransaction(事務(wù)開始)Commit(事務(wù)提交,正常結(jié)束,將更新結(jié)果寫入磁盤)Rollback(事務(wù)回滾,撤銷事務(wù)中所有已完成的更新)BEGINTRANSACTION
讀賬戶甲的余額balance;balance=balance–amount;//amount為轉(zhuǎn)賬金額
if(balance<0)then{打印‘金額不足,不能轉(zhuǎn)賬’;
ROLLBACK;//撤銷剛才的修改,恢復(fù)事務(wù)
}else{讀賬戶乙的金額balance1;balance1=balance1+amount;
寫回balance1;
COMMIT;}事務(wù)示例事務(wù)的性質(zhì)(ACID特性)原子性(Atomicity)事務(wù)中的操作要么都做,要么都不做(AllorNone)一致性(Consistency)事務(wù)執(zhí)行的結(jié)果必須使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)與原子性密切相關(guān)隔離性(Isolation)并發(fā)執(zhí)行的各事務(wù)不能相互干擾持續(xù)性/永久性(Durability)事務(wù)一旦提交,它對數(shù)據(jù)庫的更新不再受后繼操作或故障的影響★
DBMS中事務(wù)處理必須保證其ACID特性,這樣才能保證數(shù)據(jù)庫中數(shù)據(jù)的安全和正確事務(wù)型DBMS中必備的機制事務(wù)是恢復(fù)和并發(fā)控制的基本單位?;謴?fù)機制與并發(fā)控制機制的提出(解決ACID特征可能遭遇到的破壞)事務(wù)在運行過程中因某種故障被強行終止,數(shù)據(jù)庫一致性被破壞,需進行恢復(fù)。多個事務(wù)并行運行時,不同事務(wù)的各種操作交叉進行,為保證各事務(wù)的執(zhí)行互不干擾,需進行并發(fā)控制。10.2數(shù)據(jù)庫恢復(fù)概述數(shù)據(jù)庫由于某些故障發(fā)生可能會導(dǎo)致數(shù)據(jù)庫被破壞或影響數(shù)據(jù)庫中數(shù)據(jù)的一致性(或完整性、正確性)。數(shù)據(jù)庫恢復(fù)技術(shù)的目的:當系統(tǒng)運行過程中發(fā)生故障時,數(shù)據(jù)庫恢復(fù)技術(shù)將數(shù)據(jù)庫從錯誤狀態(tài)恢復(fù)到某個一致狀態(tài),它是數(shù)據(jù)庫可靠性的保證。數(shù)據(jù)庫恢復(fù)機制是衡量某DBMS系統(tǒng)性能的指標之一,對系統(tǒng)可靠性起決定作用,對運行效率有很大影響。10.3故障的種類事務(wù)內(nèi)部故障事務(wù)在運行至正常終止點(commit或rollback)前被終止。包括能由事務(wù)所在程序處理的,如條件不滿足等不能由事務(wù)所在程序處理的,如運算溢出等系統(tǒng)故障(system)系統(tǒng)重啟、OS故障、DBMS代碼錯誤、掉電等。介質(zhì)故障(medium)磁盤損壞等。計算機病毒(virus)各類故障對數(shù)據(jù)庫的可能影響數(shù)據(jù)庫被破壞,使數(shù)據(jù)庫中全部或部分數(shù)據(jù)丟失。如介質(zhì)故障、計算機病毒等。數(shù)據(jù)庫沒有被破壞,但因事務(wù)的運行被非正常終止而使數(shù)據(jù)庫數(shù)據(jù)失去一致性。如事務(wù)內(nèi)部故障、系統(tǒng)故障、計算機病毒等。10.4恢復(fù)的實現(xiàn)技術(shù)數(shù)據(jù)庫恢復(fù)的基本原理利用存儲在系統(tǒng)別處的冗余數(shù)據(jù)來重建。恢復(fù)技術(shù)的兩個關(guān)鍵問題如何建立冗余數(shù)據(jù)?數(shù)據(jù)轉(zhuǎn)儲登錄日志文件如何利用冗余數(shù)據(jù)恢復(fù)數(shù)據(jù)庫?對不同故障采用不同的恢復(fù)策略數(shù)據(jù)轉(zhuǎn)儲由DBA定義適當?shù)霓D(zhuǎn)儲周期,定期進行磁盤備份形成后備副本,具體方法如下示意:轉(zhuǎn)儲狀態(tài)動態(tài)轉(zhuǎn)儲靜態(tài)轉(zhuǎn)儲轉(zhuǎn)儲方式海量轉(zhuǎn)儲動態(tài)海量轉(zhuǎn)儲靜態(tài)海量轉(zhuǎn)儲增量轉(zhuǎn)儲動態(tài)增量轉(zhuǎn)儲靜態(tài)增量轉(zhuǎn)儲每次轉(zhuǎn)儲全部數(shù)據(jù)庫每次轉(zhuǎn)儲更新過的數(shù)據(jù)轉(zhuǎn)儲和用戶事務(wù)可以并發(fā)執(zhí)行轉(zhuǎn)儲期間不執(zhí)行任何用戶事務(wù)登記日志文件日志文件用于記錄事務(wù)對數(shù)據(jù)庫的更新操作。
日志記錄的內(nèi)容主要包括:1、事務(wù)標識及操作對象2、操作類型(插入、修改、刪除)3、更新前數(shù)據(jù)的舊值
4、更新后數(shù)據(jù)的新值
登記日志文件必須遵循的原則登記的次序嚴格按并發(fā)事務(wù)執(zhí)行的時間次序;必須先寫日志文件,后寫數(shù)據(jù)庫(WriteAfterLogging,WAL)。數(shù)據(jù)庫恢復(fù)通常綜合數(shù)據(jù)庫后備副本和日志文件將數(shù)據(jù)庫恢復(fù)至某個一致狀態(tài)(視轉(zhuǎn)儲方法而定)恢復(fù)時,對故障發(fā)生時已提交的事務(wù)進行重做(Redo,再執(zhí)行),而對未提交的事務(wù)進行撤銷(Undo,逆操作)正常運行:靜態(tài)轉(zhuǎn)儲運行事務(wù)故障發(fā)生點登記日志文件TaTbTf介質(zhì)故障恢復(fù):重裝后備副本利用日志文件恢復(fù)事務(wù)繼續(xù)運行登記日志文件第11章并發(fā)控制
并發(fā)控制機制的提出當多個用戶并發(fā)地存取數(shù)據(jù)庫時可能出現(xiàn)多個事務(wù)同時存取同一數(shù)據(jù)的情況,并發(fā)控制機制將對這些并發(fā)操作加以控制以保證每個事務(wù)的ACID特性,確保數(shù)據(jù)庫的一致性。并發(fā)控制機制是衡量某DBMS系統(tǒng)性能的指標之一。(文件時代不支持并發(fā)機制)11.1并發(fā)控制概述這種數(shù)據(jù)庫的不一致是由并發(fā)操作引起的。并發(fā)操作引起的數(shù)據(jù)不一致性包括三類:丟失修改、不可重復(fù)讀和讀臟數(shù)據(jù)。機票數(shù)量AA=16讀讀A=A-1A=A-1A=15A=15售票點售票點A=16A=16出售1出售1事務(wù)T1事務(wù)T2例子并發(fā)操作引起的丟失修改丟失修改事務(wù)T1對數(shù)據(jù)的修改被事務(wù)T2的修改覆蓋。T1讀A=16A=A-1寫回A=15T2讀A=16A=A-1寫回A=15“后完成的事務(wù)覆蓋了其他早期事務(wù)對數(shù)據(jù)的修改”并發(fā)操作引起的不可重復(fù)讀不可重復(fù)讀事務(wù)T1讀取某一數(shù)據(jù)后,事務(wù)T2對其做了修改,當T1按同樣條件再讀時得到不同的值。事務(wù)T1讀取某些數(shù)據(jù)后,事務(wù)T2刪除(或插入)了一些記錄,當T1按同樣條件再讀時發(fā)現(xiàn)少(或多)了一些記錄。T1讀A=1,B=2求A+B=3讀A=1,B=4求A+B=5T2讀B=2B=B*2寫回B=4“部分值被其他事務(wù)修改導(dǎo)致讀數(shù)驗算錯誤”并發(fā)操作引起的讀“臟”數(shù)據(jù)讀“臟”數(shù)據(jù)事務(wù)T1修改了某數(shù)據(jù)并寫回磁盤,事務(wù)T2讀取了同一數(shù)據(jù)后,T1由于某種原因被撤銷,被修改的值復(fù)原,此時T2讀到的數(shù)據(jù)與數(shù)據(jù)庫中的數(shù)據(jù)不一致。T1讀C=1C=C*2寫回C=2ROLLBACKC恢復(fù)為1T2讀C=2“讀取未提交事務(wù)的過程數(shù)據(jù)”小結(jié)
產(chǎn)生上述三類不一致性的主要原因并發(fā)操作破壞了事務(wù)的隔離性,事務(wù)間相互干擾并發(fā)控制的主要技術(shù):封鎖
并發(fā)控制就是要用正確的方式調(diào)度并發(fā)操作11.2封鎖概念事務(wù)T在對某個數(shù)據(jù)對象(如數(shù)據(jù)庫、表、記錄等)操作之前,首先向系統(tǒng)發(fā)出加鎖請求以便獲得對數(shù)據(jù)對象相應(yīng)的控制。在事務(wù)T釋放它所獲得的鎖之前,其他事務(wù)不能更新此數(shù)據(jù)對象。鎖的類型排它鎖(eXclusivelock):寫鎖若事務(wù)T對數(shù)據(jù)對象A加上X鎖,則只允許T讀取和修改A,其它任何事務(wù)都不能再對A加任何類型的鎖,直到T釋放A上的鎖。共享鎖(Sharelock):讀鎖若事務(wù)T對數(shù)據(jù)對象A加上S鎖,則事務(wù)T可以讀A但不能修改A,其它事務(wù)只能再對A加S鎖,而不能加X鎖,直到T釋放A上的S鎖。鎖的相容矩陣Y:相容的請求N:不相容的請求T2T1XS-XS-T2T1XS-XNNYSNYY-YYY11.3封鎖協(xié)議有了兩種基本封鎖,還需要什么約定?具體的實施規(guī)則——封鎖協(xié)議封鎖協(xié)議的概念何時申請加鎖、持鎖時間、何時釋放等規(guī)則。不同的封鎖協(xié)議所達到的系統(tǒng)一致性級別不同。三個級別的封鎖協(xié)議一級封鎖協(xié)議內(nèi)容:事務(wù)T在修改數(shù)據(jù)R之前必須先對其加X
鎖,直至事務(wù)結(jié)束。讀數(shù)據(jù)無須加任何類型鎖評價:是否可解決丟失修改?可重復(fù)讀?讀臟數(shù)據(jù)?
可防止×不能保證×不能防三個級別的封鎖協(xié)議二級封鎖協(xié)議內(nèi)容:讀數(shù)據(jù)前需加S鎖,讀完即釋放;兼容一級封鎖協(xié)議評價:是否可解決丟失修改?可重復(fù)讀?讀臟數(shù)據(jù)?
可防止×不能保證
可防止三個級別的封鎖協(xié)議三級封鎖協(xié)議內(nèi)容:讀數(shù)據(jù)前加S鎖直至事務(wù)結(jié)束;兼容一級封鎖協(xié)議評價:是否可解決丟失修改?可重復(fù)讀?讀臟數(shù)據(jù)?
可防止
能保證
可防11.4活鎖和死鎖問題活鎖舉例說明:事務(wù)T1封鎖
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年國家公務(wù)員申論題目寫作指南
- 2026年崇左幼兒師范高等??茖W(xué)校單招職業(yè)技能考試題庫附答案
- 2026年工程建筑設(shè)計與建筑材料專業(yè)題庫
- 2026年網(wǎng)絡(luò)信息安全工程師水平測試題目
- 2026年工業(yè)自動化與智能制造技術(shù)考試題
- 2026年經(jīng)濟學(xué)專業(yè)知識能力水平測試題庫
- 2026年國際會計師認證投資決策題庫
- 2026年物流業(yè)貨物運輸法規(guī)題庫
- 2026年建筑設(shè)計與規(guī)劃基礎(chǔ)概念題庫
- 2026年職業(yè)運動員訓(xùn)練指南運動表現(xiàn)與體能提升認證題庫
- 數(shù)據(jù)資產(chǎn)價值評估模型構(gòu)建與分析
- 市政污水管道有限空間作業(yè)方案
- 2026中國電信四川公用信息產(chǎn)業(yè)有限責(zé)任公司社會成熟人才招聘備考題庫及1套參考答案詳解
- 2026年秦皇島煙草機械有限責(zé)任公司招聘(21人)考試參考試題及答案解析
- 職場關(guān)鍵能力課件 4 時間管理
- 2026年甘肅平?jīng)龀缧趴h機關(guān)事業(yè)單位選調(diào)30人筆試備考題庫及答案解析
- 2026及未來5年中國電腦顯卡行業(yè)市場運行態(tài)勢及發(fā)展前景研判報告
- 音響質(zhì)量保證措施
- 神經(jīng)病學(xué)教學(xué)課件:腦梗死
- HY/T 055-2001折疊筒式微孔膜過濾芯
- GB/T 21393-2008公路運輸能源消耗統(tǒng)計及分析方法
評論
0/150
提交評論