国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 信息時(shí)代 > 內(nèi)存數(shù)據(jù)庫故障恢復(fù)(數(shù)據(jù)庫)

內(nèi)存數(shù)據(jù)庫故障恢復(fù)(數(shù)據(jù)庫)

時(shí)間:2022-11-05 02:30:02 | 來源:信息時(shí)代

時(shí)間:2022-11-05 02:30:02 來源:信息時(shí)代

    內(nèi)存數(shù)據(jù)庫故障恢復(fù) : 將被破壞的內(nèi)存數(shù)據(jù)庫中的數(shù)據(jù)還原為正常數(shù)據(jù)的過程。內(nèi)存數(shù)據(jù)庫恢復(fù)比傳統(tǒng)的數(shù)據(jù)庫恢復(fù)更復(fù)雜,它既有S-DB(即傳統(tǒng)的DRDB)恢復(fù)問題,也有M-DB恢復(fù)問題,這里主要介紹后者。MMDB恢復(fù)與DRDB恢復(fù)的差別主要表現(xiàn)在日志設(shè)施、檢驗(yàn)點(diǎn)技術(shù)和數(shù)據(jù)重裝策略等方面。
1. 一般恢復(fù)模型
已開發(fā)的內(nèi)存數(shù)據(jù)庫恢復(fù)技術(shù)有多種,其恢復(fù)機(jī)制采用不同的體系結(jié)構(gòu)。但基于恢復(fù)的原理,一般恢復(fù)模型必須考慮下列各點(diǎn):
(1)恢復(fù)的焦點(diǎn)是內(nèi)存而不是磁盤數(shù)據(jù)庫,即不考慮磁盤故障的恢復(fù),因?yàn)檫@種恢復(fù)與傳統(tǒng)的磁盤數(shù)據(jù)庫恢復(fù)幾乎一樣。
(2)恢復(fù)本身的I/O要求的滿足不應(yīng)以犧牲事務(wù)對M-DB的存取性能為代價(jià),這尤其意味著恢復(fù)應(yīng)盡可能進(jìn)行與事務(wù)處理異步的I/O。
(3) 由于恢復(fù)的代價(jià)在一個(gè)事務(wù)執(zhí)行的總代價(jià)中占的比例上升,所以恢復(fù)的性能對整個(gè)系統(tǒng)的總體性能更為關(guān)鍵,因而傳統(tǒng)的恢復(fù)技術(shù),如REDO/UNDO式記日志、同步地作檢驗(yàn)點(diǎn)、在“靜止?fàn)顟B(tài)”(無事務(wù)活躍)下執(zhí)行恢復(fù)等等都已不適用,要開發(fā)適合于MMDB的恢復(fù)技術(shù)與工具。
考慮到上述各點(diǎn),一個(gè)MMDB的恢復(fù)機(jī)制如圖1所示。其中穩(wěn)定日志緩沖區(qū)(SLB)在M2的T-DB中,它是穩(wěn)固內(nèi)存(如可用UPS實(shí)現(xiàn))。日志管理器接收記日志請求,在SLB中寫有關(guān)日志記錄,并將已提交事務(wù)的數(shù)據(jù)庫變更日志記錄按對應(yīng)的數(shù)據(jù)庫片成簇為頁,然后寫入穩(wěn)固日志(LOG)中。由此可見,LOG中只保留已提交事務(wù)的日志記錄,即REDO-Only記錄。SLB同時(shí)又兼作事務(wù)的“影子”工作區(qū),每個(gè)事務(wù)有各自的SLB,其更改操作都在其中進(jìn)行。每當(dāng)提交處理時(shí),日志管理器將SLB中記錄寫入LOG后,相應(yīng)SLB便釋放以供別的事務(wù)重用。一旦事務(wù)提交,提交處理器先請求日志管理器寫“事務(wù)提交” 日志記錄,然后用提交的各變更的“后映像”刷新O-DB。若一個(gè)事務(wù)ABORT,則僅簡單地放棄其SLB就行了。執(zhí)行檢驗(yàn)點(diǎn)操作時(shí),根據(jù)日志提供的信息,將上次檢驗(yàn)點(diǎn)以來O-DB中變更的數(shù)據(jù)庫片刷新到S-DB中,并請求記“檢驗(yàn)點(diǎn)” 日志記錄。交換處理器本來是負(fù)責(zé)O-DB與S-DB間的數(shù)據(jù)交換,但它同時(shí)兼?zhèn)浠謴?fù)時(shí)的重裝功能。每當(dāng)系統(tǒng)發(fā)生故障后,恢復(fù)管理器先調(diào)用交換處理器按一定的策略將S-DB的相關(guān)數(shù)據(jù)庫片重裝入O-DB,并依LOG(包括SLB中的當(dāng)前部分)記錄REDO O-DB直到最近的一致狀態(tài)。


圖1 MMDB恢復(fù)機(jī)制體系結(jié)構(gòu)


2. 記日志
有三種類型的記錄: 關(guān)于系統(tǒng)運(yùn)行、關(guān)于事務(wù)行為及關(guān)于數(shù)據(jù)庫變更。系統(tǒng)運(yùn)行記錄包含系統(tǒng)運(yùn)行情況的信息,如日期、時(shí)間、入/出事務(wù)的目錄:事務(wù)調(diào)度時(shí)間、事務(wù)的開始、提交或夭折; 檢驗(yàn)點(diǎn)等。事務(wù)記錄記載活動(dòng)事務(wù)的有關(guān)信息: 事務(wù)標(biāo)識符、對應(yīng)代碼(程序)標(biāo)識符; 操作類型及其對象標(biāo)識符、輸入/出數(shù)據(jù); 事務(wù)開始時(shí)間、完成時(shí)間等。數(shù)據(jù)庫變更記錄則包含了所變更的數(shù)據(jù)的定位(數(shù)據(jù)單位的類型、數(shù)據(jù)標(biāo)識符),它的前/后映像等。
(1)記日志的策略: 在上述恢復(fù)機(jī)制模型下,記日志的策略可以有三種:按值、按活動(dòng)和按事務(wù)。按值記日志策略在日志中記下由各事務(wù)變更的任何數(shù)據(jù)部分的定位及其新值(后映像)。按事務(wù)記日志則記錄關(guān)于事務(wù)本身的描述,以便在恢復(fù)時(shí)可以通過重執(zhí)行這些事務(wù)來重構(gòu)它們所作出的改變。按活動(dòng)記日志實(shí)際是按事務(wù)記日志策略的變種,它記載有關(guān)一個(gè)事務(wù)的所有記錄級活動(dòng)(如插入、修改記錄操作)的信息,如操作的類型、對象(記錄標(biāo)識)、主體(事務(wù)標(biāo)識)、參數(shù)(值)等。顯然這三種策略不是彼此獨(dú)立各自完備的,它們可以相輔相成,綜合應(yīng)用,且無論采用什么策略,有關(guān)系統(tǒng)運(yùn)行記錄都是不可缺少的,這樣才能實(shí)現(xiàn)完整的系統(tǒng)恢復(fù),包括數(shù)據(jù)庫恢復(fù)、事務(wù)處理恢復(fù)、系統(tǒng)服務(wù)恢復(fù)。
(2)日志記錄的成簇: 就是將已提交事務(wù)的數(shù)據(jù)庫變更日志記錄按對應(yīng)被變更的數(shù)據(jù)片而組合成頁。頁的大小是預(yù)先定義的,當(dāng)一頁填滿時(shí)則一次寫入LOG,若對應(yīng)一個(gè)數(shù)據(jù)庫片有多個(gè)頁時(shí),它們被拉鏈。這樣做至少有三個(gè)優(yōu)點(diǎn): ①減少寫入外存LOG的次數(shù);②在恢復(fù)時(shí),很容易一次找到對應(yīng)于一個(gè)特定數(shù)據(jù)庫片的所有日志記錄,從而省時(shí),同時(shí)還有利于“漸增恢復(fù)”; ③通過記下各數(shù)據(jù)庫片的地址,傳給檢驗(yàn)點(diǎn)處理,使做檢驗(yàn)點(diǎn)操作很簡便。
按圖1中所示的恢復(fù)模型,MMDB的記日志與傳統(tǒng)的日志相比有下列特點(diǎn): ①日志緩沖區(qū)與事務(wù)的工作區(qū)合一,只有一個(gè)后映像副本。這樣不但節(jié)省了內(nèi)存空間,也省了寫兩個(gè)后映像副本(工作區(qū),日志緩沖區(qū)各一)的一半的時(shí)間。②LOG中只存儲已提交的后映像,無前映像,即只需REDO-only,無須UNDO。這樣不僅使記LOG的空間與時(shí)間幾乎縮小一半,且以后恢復(fù)時(shí),也省去做UNDO操作的開銷。③傳統(tǒng)的日志記錄法是將所有活動(dòng)事務(wù)的記錄彼此摻雜而序列地記在單一的緩沖區(qū)中。這樣需要保留一張已提交事務(wù)表,每當(dāng)將日志緩沖區(qū)的記錄寫入磁盤LOG時(shí),都要先去掉它的前映像,而一旦這些事務(wù)的提交數(shù)據(jù)永久地寫入磁盤數(shù)據(jù)庫,則要在表中刪去它們,這樣要花費(fèi)時(shí)空開銷。現(xiàn)在是各自的SLB,只記錄了后映像,故省去前述的開銷。④每個(gè)活動(dòng)事務(wù)有各自的SLB,然后按數(shù)據(jù)庫片聚簇成頁,再一次一頁地寫入磁盤LOG中。這樣可以并行地工作,還有前面所述成簇的優(yōu)點(diǎn),故使恢復(fù)的效率和系統(tǒng)性能提高。
3.檢驗(yàn)點(diǎn)操作
一般檢驗(yàn)點(diǎn)操作是讓數(shù)據(jù)庫處于“靜止”狀態(tài),即讓當(dāng)前事務(wù)執(zhí)行完,而不讓新的事務(wù)開始。這對現(xiàn)代應(yīng)用,如實(shí)時(shí)性應(yīng)用是不現(xiàn)實(shí)的。對MMDB可以采用一些新的方法與技術(shù)。
(1)作檢驗(yàn)點(diǎn)的策略: 作檢驗(yàn)點(diǎn)的目的是為了減小恢復(fù)的工作量,縮短恢復(fù)時(shí)間,它限制恢復(fù)活動(dòng)僅對那些自上次檢驗(yàn)點(diǎn)以來開始的事務(wù)進(jìn)行,其任務(wù)就是將這些事務(wù)對數(shù)據(jù)庫所作的變更進(jìn)行備份。作備份(檢驗(yàn)點(diǎn))的策略有三種: 一是“事務(wù)一致性”備份(檢驗(yàn)點(diǎn)),它原子地反映一個(gè)事務(wù)活動(dòng),即原子地看到一事務(wù),故備份或者全是后映像(事務(wù)提交)或全是前映像(事務(wù)夭折),不會有的是前映像,有的后映像。二是“活動(dòng)一致性”備份,它原子地反映每一活動(dòng)(不是整個(gè)事務(wù)),故備份可能既有前映像也有后映像,但不會有反映部分變更狀態(tài)的記錄。三是“模糊”備份(檢驗(yàn)點(diǎn)),它不保證事務(wù)或活動(dòng)的原子性。
(2)檢驗(yàn)點(diǎn)算法: 上述三種策略實(shí)際上是兩大類型: 一類是一致性(事務(wù)或活動(dòng))備份檢驗(yàn)點(diǎn); 另一類是非一致性備份檢驗(yàn)點(diǎn)。一致性檢驗(yàn)點(diǎn)要保證在檢驗(yàn)點(diǎn)期間,被備份的數(shù)據(jù)不同時(shí)被活動(dòng)的事務(wù)修改,要達(dá)到這個(gè)目的可以有多種算法,代表性的有: ①“靜止”檢驗(yàn)點(diǎn): 周期地如前所述讓數(shù)據(jù)庫處于“靜止”(一致)狀態(tài),再將M-DB的變更數(shù)據(jù)(又稱“臟數(shù)據(jù)”)復(fù)制到S-DB,在整個(gè)復(fù)制期間停止事務(wù)對這些數(shù)據(jù)的存取。這就是一般傳統(tǒng)的檢驗(yàn)點(diǎn)操作算法。如前所述,它要頻繁地長時(shí)間地推遲事務(wù),這對現(xiàn)代應(yīng)用是不可接受的,故該方法對高性能應(yīng)用不適合。②“黑白”檢驗(yàn)點(diǎn): 這種算法的基本思想是每一數(shù)據(jù)庫片有一個(gè)“黑白”位表明它是否在當(dāng)前檢驗(yàn)點(diǎn)中,另外有一個(gè)“變更”位表明其是否是“臟”的,每當(dāng)事務(wù)變更它時(shí),就置1。所有片的顏色最初為白,一旦進(jìn)入檢驗(yàn)點(diǎn)則置為“黑”,出檢驗(yàn)點(diǎn)時(shí)又恢復(fù)為“白”。該算法一次鎖住一片,其時(shí)間是它被備份的時(shí)間。這里的“備份時(shí)間”還不一定是真的直接復(fù)制到S-DB的時(shí)間,還可用Spooling技術(shù),這樣時(shí)間更短。③“更新時(shí)復(fù)制”檢驗(yàn)點(diǎn): 它是前兩種技術(shù)的綜合。它首先如“靜止”檢驗(yàn)點(diǎn)一樣使數(shù)據(jù)庫處于一致狀態(tài),然后作檢驗(yàn)點(diǎn)操作,其算法類似于“黑白”法。該算法對每一數(shù)據(jù)庫片使用了一個(gè)指向其一致性“瞬像”的指針,即每當(dāng)更改數(shù)據(jù)片時(shí),事務(wù)要保存老副本,而以指針指向它?!昂诎住奔啊白兏蔽慌c上法一樣。上述的“黑白”和“更新復(fù)制”算法都可用來產(chǎn)生事務(wù)或活動(dòng)一致性備份,這只要事務(wù)處理分別阻塞任何事務(wù)或事務(wù)的活動(dòng)存取黑片即可。④“批復(fù)制變更”檢驗(yàn)點(diǎn): 按這種方法,每一數(shù)據(jù)庫片有一“臟”(變更)位表示它變更過,還有一“時(shí)標(biāo)”TS,表示最近被變更的時(shí)間(按系統(tǒng)時(shí)鐘)。設(shè)TC為當(dāng)前檢驗(yàn)點(diǎn)開始時(shí)間或?yàn)?(如果無檢驗(yàn)點(diǎn)進(jìn)行),此后,這一個(gè)事務(wù)企圖變更一個(gè)數(shù)據(jù)庫片時(shí),則比較該片的TS與TC,如果TS<TC,且該片是“臟”的,則建立該片的一個(gè)新副本,然后對新副本進(jìn)行變更,且更新其TS成最近的變更時(shí)間。
其算法分兩段進(jìn)行: 第1段: ①系統(tǒng)最初是靜止的,置TC為當(dāng)前時(shí)鐘時(shí)間以表示一檢驗(yàn)點(diǎn)開始,設(shè)Sm為自上一檢驗(yàn)點(diǎn)以來變更了的數(shù)據(jù)庫片的集合; ②建立活動(dòng)事務(wù)表,然后可重新繼續(xù)事務(wù)的活動(dòng)(此時(shí)不會再改變Sm中片的老版本); ③若有S∈Sm,TS<TC,則寫S到一穩(wěn)定(stable)存儲器文件Sst;④在日志中寫“檢驗(yàn)點(diǎn)開始”記錄,它包括TC及各活動(dòng)事務(wù)。此時(shí)第1段結(jié)束。第2段:①將Sm中的片寫到S-DB中以作備份(此備份就是TC時(shí)的M-DB的一致狀態(tài));②在日志中寫“檢驗(yàn)點(diǎn)結(jié)束”記錄;③去掉Sst(此前,若系統(tǒng)發(fā)生故障,則它用來作恢復(fù)),重置TC。該算法產(chǎn)生活動(dòng)一致性備份,且檢驗(yàn)點(diǎn)與事務(wù)活動(dòng)并行(異步)進(jìn)行。
(3)檢驗(yàn)點(diǎn)操作過程: 該檢驗(yàn)點(diǎn)算法的操作過程如下: 每當(dāng)日志管理器寫一提交日志記錄并按數(shù)據(jù)庫片將該提交事務(wù)所作的變更組合成頁時(shí),將變更數(shù)據(jù)庫片的地址寫入其與檢驗(yàn)點(diǎn)處理的“通信區(qū)”。其檢驗(yàn)點(diǎn)操作過程如下: ①檢驗(yàn)點(diǎn)處理周期地檢查“通信區(qū)”,若有變更片地址,則啟動(dòng)一個(gè)“檢驗(yàn)點(diǎn)事務(wù)”來執(zhí)行備份工作。②“檢驗(yàn)點(diǎn)事務(wù)”請求在相應(yīng)片上的READ鎖(只要讀鎖就足以保證“事務(wù)一致性”備份),以免被提交處理同時(shí)寫。③若READ鎖獲準(zhǔn),則復(fù)制被鎖片到I/O緩沖區(qū)后立即釋放鎖。所以一片只被鎖住在內(nèi)存復(fù)制它所需時(shí)間,這樣檢驗(yàn)點(diǎn)事務(wù)只對一般事務(wù)產(chǎn)生極小的影響,然后緩沖區(qū)以批處理形式寫入S-DB的備份中。④各數(shù)據(jù)庫片被復(fù)制到備份后,清除“通信區(qū)”以備下一檢驗(yàn)點(diǎn)使用,“檢驗(yàn)點(diǎn)事務(wù)”提交,檢驗(yàn)點(diǎn)結(jié)束。這樣需要兩個(gè)“通信區(qū)”以便“檢驗(yàn)點(diǎn)事務(wù)”和日志管理器交替使用。

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉