版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1undo日志中的檢查點檢查點(checkpoint)上述恢復(fù)過程需要掃描整個undo日志文件,為了降低數(shù)據(jù)庫故障恢復(fù)的開銷,可以定期地在日志文件中插入檢查點。在日志中插入檢查點的處理過程包括:系統(tǒng)停止接受‘啟動新事務(wù)的請求’;等到所有當前活躍的事務(wù)被提交或中止,并且在日志中寫入了<CommitT>或<AbortT>記錄;將日志記錄刷新到磁盤;寫入日志記錄<CKPT>,并再次刷新日志;重新開始接受新的事務(wù)。2undo日志中的檢查點在進行故障恢復(fù)時,只要逆向掃描到第一條<CKPT>記錄(最后一個被記入日志的檢查點)就可以結(jié)束故障恢復(fù)工作。3設(shè)置檢查點的例子日志的開始情況如圖1所示undo日志<StartT1><T1,A,5><StartT2><T2,B,10>圖1圖2<T1,D,20><T3,E,25><StartT3><CKPT><CommitT2><CommitT1><T2,C,15><T2,B,10><StartT2><T1,A,5><StartT1>undo日志假設(shè)現(xiàn)在需要插入一個檢查點,則插入檢查點后的日志可能如圖2所示4undo日志中的檢查點非靜止檢查點在設(shè)置檢查點的過程中,允許新的事務(wù)進入系統(tǒng)。設(shè)置‘非靜止檢查點’的步驟包括寫入日志記錄<StartCKPT(T1,…,Tk)>,并刷新日志;T1,…,Tk是當前所有活躍事務(wù)的標識符等待T1,…,Tk中的每一個事務(wù)的提交或中止,但允許開始執(zhí)行其它新的事務(wù);當T1,…,Tk都已經(jīng)完成時,寫入日志記錄<EndCKPT>并刷新日志。5設(shè)置非靜止檢查點的例子undo日志<StartT1><T1,A,5><StartT2><T2,B,10><StartCKPT(T1,T2)><T2,C,15><StartT3><T1,D,20><CommitT1><T3,E,25><CommitT2><EndCKPT><T3,F,30>圖36帶有非靜止檢查點日志的恢復(fù)從日志尾部向后掃描日志文件進行故障恢復(fù)。如果先遇到<EndCKPT>記錄,則繼續(xù)向后掃描,直到出現(xiàn)對應(yīng)的<StartCKPT(…)>記錄就可以結(jié)束故障恢復(fù)工作,在這之后的日志記錄是沒有用處的,可以被拋棄。如果先遇到<StartCKPT(T1,…,Tk)>記錄,此種情況下的故障恢復(fù)工作需要撤消兩類事務(wù)的操作:在<StartCKPT(T1,…,Tk)>記錄之后啟動的事務(wù)在掃描到<StartCKPT(T1,…,Tk)>記錄時,這類事務(wù)的操作已經(jīng)被撤消。T1,…,Tk中在系統(tǒng)崩潰前尚未完成的事務(wù)繼續(xù)向后掃描日志,直至其中未完成事務(wù)的訪問操作被全部撤消。7帶有非靜止檢查點的故障恢復(fù)(圖4)undo日志……<StartT1><T1,A,5><StartT2><T2,B,10><StartCKPT(T1,T2)><T2,C,15><StartT3><T1,D,20><CommitT1><T3,E,25>到這里undo操作就可以結(jié)束!對于已提交事務(wù)(T1)的日志記錄不做任何處理undo所有未提交事務(wù)(T2,T3)的操作8redo日志中的檢查點redo日志的檢查點在redo日志中插入檢查點時,由于已提交事務(wù)所做的修改被寫入數(shù)據(jù)庫磁盤的時間可能比事務(wù)提交的時間要晚得多,因此在插入檢查點時,不僅僅需要考慮當前有哪些事務(wù)是活躍的,還要確保當前已提交事務(wù)的所有修改被寫入到數(shù)據(jù)庫的磁盤中去。為了做到這一點,系統(tǒng)必須知道:有哪些內(nèi)存緩沖區(qū)被修改過,但還沒有將修改結(jié)果寫入磁盤?每一個內(nèi)存緩沖區(qū)都被哪些事務(wù)修改過?每個事務(wù)修改后的結(jié)果是什么?9redo日志中的檢查點在redo日志中插入(非靜止)檢查點的步驟寫入日志記錄<StartCKPT(T1,…,Tk)>,并刷新日志;其中:T1,…,Tk是當前所有活躍事務(wù)的標識符同時獲得當時所有已提交事務(wù)的標識符集合S將集合S中的事務(wù)已經(jīng)寫到內(nèi)存緩沖區(qū)但還沒有寫到數(shù)據(jù)庫磁盤的數(shù)據(jù)寫入磁盤;寫入日志記錄<EndCKPT>并刷新日志。不必等待事務(wù)T1,…,Tk或新開始事務(wù)的結(jié)束10圖5帶有非靜止檢查點的redo日志redo日志<StartT1><T1,A,5><StartT2><CommitT1><T2,B,10><StartCKPT(T2)><T2,C,15><StartT3><T3,D,20><EndCKPT><CommitT2><CommitT3>11redo日志中的檢查點使用帶檢查點的redo日志的恢復(fù)尋找最后一個被記入日志的檢查點記錄:如果是<EndCKPT>(記為記錄Et),假設(shè)與之相對應(yīng)的檢查點記錄是<StartCKPT(T1,…,Tk)>(記為記錄St),并找到最早出現(xiàn)的<StartTi>(記為記錄ti),則故障恢復(fù)方法如下:針對事務(wù)T1,…,Tk以及在St之后開始的那些事務(wù),重做其中已經(jīng)被提交的事務(wù)12例:使用帶有檢查點的redo日志進行恢復(fù)redo日志<StartT1><T1,A,5><StartT2><CommitT1><T2,B,10><StartCKPT(T2)><T2,C,15><StartT3><T3,D,20><EndCKPT><CommitT2>系統(tǒng)崩潰從這里開始redo操作在<StartCKPT(T2)>之前已經(jīng)結(jié)束的事務(wù)(T1)不必處理重做在<StartCKPT(T2)>之后,崩潰發(fā)生之前已經(jīng)被提交的事務(wù)(T2)重做在<StartCKPT(T2)>之后,崩潰發(fā)生之前已經(jīng)被提交的事務(wù)(T2)最后為尚未結(jié)束事務(wù)(T3)加入結(jié)束標志<AbortT3>13redo日志中的檢查點使用帶檢查點的redo日志的恢復(fù)(續(xù))尋找最后一個被記入日志的檢查點記錄:如果是<StartCKPT(T1,…,Tk)>(記為記錄St1),我們繼續(xù)尋找前一個<EndCKPT>(記為記錄Et2),以及與Et2相對應(yīng)的<StartCKPT(S1,…,Sm)>(記為記錄St2),則故障恢復(fù)方法如下:就如同日志記錄Et2是日志文件中的最后一條檢查點(<EndCKPT>記錄)記錄一樣進行恢復(fù)。14undo/redo日志中的檢查點在undo/redo日志中插入檢查點寫入日志記錄<StartCKPT(T1,…,Tk)>,并刷新日志。其中:T1,…,Tk是當前所有活躍事務(wù)的標識符;將所有被修改過的緩沖區(qū)寫到數(shù)據(jù)庫的磁盤中去;寫入日志記錄<EndCKPT>并刷新日志。15帶有檢查點的undo/redo日志的例子undo/redo日志1<StartT1>2<T1,A,4,5>3<StartT2>4<CommitT1>5<T2,B,9,10>6<StartCKPT(T2)>7<T2,C,14,15>8<StartT3>9<T3,D,1
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州財經(jīng)大學《創(chuàng)業(yè)團隊管理》2023-2024學年第一學期期末試卷
- 2025年甘肅省建筑安全員C證考試題庫
- 2025年河南省安全員《C證》考試題庫
- 貴陽學院《山水寫生》2023-2024學年第一學期期末試卷
- 廣州應(yīng)用科技學院《游戲制作與開發(fā)》2023-2024學年第一學期期末試卷
- 廣州鐵路職業(yè)技術(shù)學院《建筑力學(上)》2023-2024學年第一學期期末試卷
- 2025四川省安全員-C證考試(專職安全員)題庫附答案
- 2025云南省建筑安全員《C證》考試題庫及答案
- 6.4.2向量在物理中的應(yīng)用舉例【超級課堂】2022-2023學年高一數(shù)學教材配套教學精-品課件+分層練習人教A版2019必修第二冊
- 材料力學課件-動載荷
- 中醫(yī)護理查房脅痛好
- 新概念英語第一冊1-72課測試
- 2024年二級造價師題庫(鞏固)
- 類風濕關(guān)節(jié)炎課件
- 2022版《義務(wù)教育教學新課程標準》解讀課件
- 師德師風防性侵知識講座
- 寫字樓項目風險評估報告
- 庫存周轉(zhuǎn)率與庫存周轉(zhuǎn)天數(shù)
- 絕緣子鹽密、灰密試驗
- 農(nóng)業(yè)信息感知與傳輸技術(shù)
- 福州市晉安區(qū)2023-2024學年八年級上學期期末數(shù)學檢測卷(含答案)
評論
0/150
提交評論