999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于影子頁面和混合日志的MMDB恢復(fù)方法

2011-09-07 10:16:50鮑程鋒楊小虎
關(guān)鍵詞:頁面數(shù)據(jù)庫

鮑程鋒, 楊小虎

(浙江大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江杭州310027)

0 引 言

內(nèi)存數(shù)據(jù)庫,簡單的說就是數(shù)據(jù)庫的“工作版本”(也可以是整個數(shù)據(jù)庫)常駐內(nèi)存的數(shù)據(jù)庫系統(tǒng)[1],即任意時刻,任意一個活動事務(wù)所操作的數(shù)據(jù)集都在內(nèi)存中。由于內(nèi)存數(shù)據(jù)庫是針對內(nèi)存設(shè)計(jì)的,數(shù)據(jù)庫不再是按照某種數(shù)據(jù)模型組織起來并存放在磁盤中的數(shù)據(jù)集合,而是作為內(nèi)存中可尋址的數(shù)據(jù)集,活動事務(wù)只與內(nèi)存打交道,而不需涉及磁盤I/O,所以內(nèi)存數(shù)據(jù)庫相對于傳統(tǒng)的磁盤數(shù)據(jù)庫來說,存取速度更快,且存取的時間是可預(yù)測的。然而由于內(nèi)存的易失性,內(nèi)存數(shù)據(jù)庫必須在磁盤上保留備份,使得發(fā)生系統(tǒng)崩潰等故障的情況下,能使數(shù)據(jù)庫恢復(fù)到一致性狀態(tài)[2]。這就導(dǎo)致數(shù)據(jù)庫更新的備份、日志的存儲以及異常恢復(fù)大量的磁盤I/O操作,所以設(shè)計(jì)高效的系統(tǒng)模型以及恢復(fù)策略是內(nèi)存數(shù)據(jù)庫的關(guān)鍵技術(shù)之一。

本文討論了通過結(jié)合影子頁面[4]技術(shù)、混合日志策略以及模糊檢查點(diǎn)[6]思想的內(nèi)存數(shù)據(jù)庫的組織結(jié)構(gòu),并在此內(nèi)存數(shù)據(jù)庫結(jié)構(gòu)下,如何實(shí)現(xiàn)內(nèi)存數(shù)據(jù)庫數(shù)據(jù)以及日志的快速備份,以及當(dāng)內(nèi)存數(shù)據(jù)庫出現(xiàn)事務(wù)故障或者系統(tǒng)故障時,如何通過磁盤上內(nèi)存數(shù)據(jù)庫的備份文件和日志文件,來快速恢復(fù)內(nèi)存數(shù)據(jù)庫到一致性狀態(tài)。

1 內(nèi)存數(shù)據(jù)庫模型和故障恢復(fù)策略

1.1 系統(tǒng)模型

系統(tǒng)模型如圖1所示,內(nèi)存數(shù)據(jù)庫主要由以下幾個部分組成,內(nèi)存數(shù)據(jù)庫區(qū),影子頁面區(qū),私有日志區(qū),全局日志區(qū)。

圖1 系統(tǒng)模型

每個事務(wù)都有自己獨(dú)立的私有日志區(qū),這樣可以避免多個事務(wù)之間對日志區(qū)訪問的嚴(yán)重競爭。當(dāng)某一個事務(wù)要對內(nèi)存數(shù)據(jù)庫中某一個頁面進(jìn)行更新操作時,首先要復(fù)制一份與這個將要被更新頁面一模一樣的頁面,稱為這個被更新的數(shù)據(jù)庫頁面的影子頁面,所有的更新操作首先作用在這個影子頁面上,當(dāng)事務(wù)夭折時,直接撤銷對應(yīng)的影子頁面和私有日志,而無需記錄Undo日志;當(dāng)該事務(wù)已提交,并且已經(jīng)把私有日志區(qū)的日志文件更新到全局日志區(qū)時,再把數(shù)據(jù)庫中的該頁面替換為其對應(yīng)的影子頁面并置臟頁位。另外通過一個獨(dú)立的進(jìn)程不斷的把全局日志區(qū)的日志刷新到磁盤日志文件上。

1.2 事務(wù)過程

在本系統(tǒng)模型中,我們采用影子頁面技術(shù)來完成對內(nèi)存數(shù)據(jù)庫頁面的更新操作。對所有要被更新的數(shù)據(jù)庫頁面都復(fù)制一個跟原頁面相同的副本(影子頁面),更新發(fā)生在影子頁面上,而不是原數(shù)據(jù)庫頁面上,如果事務(wù)成功提交,把當(dāng)前數(shù)據(jù)庫頁面替換成其對應(yīng)的影子頁面,如果事務(wù)失敗,則丟棄影子頁面。由于不是直接在當(dāng)前頁上做修改,當(dāng)前頁的信息在事務(wù)未成功提交前仍存在,所以可以不用記錄事務(wù)Undo類型日志。當(dāng)事務(wù)由于異常情況終止時,只要撤銷其對應(yīng)的影子頁面和日志文件即可。通過這種方法,可以減少日志文件的大小和恢復(fù)時的重做過程,可以提交恢復(fù)的效率。

當(dāng)一個事務(wù)開始執(zhí)行時,首先獲得要修改的數(shù)據(jù)庫頁面的鎖,并復(fù)制一個該頁面對應(yīng)的影子頁面,事務(wù)在這個影子頁面上做相應(yīng)的修改數(shù)據(jù)的操作,并將對應(yīng)的日志寫到其對應(yīng)的私有日志區(qū),如果事務(wù)失敗,則丟棄該事務(wù)對應(yīng)的影子頁面和私有日志區(qū)的日志文件即可,也就是事務(wù)故障的恢復(fù)并不涉及磁盤I/O,系統(tǒng)可以快速從事務(wù)故障中恢復(fù);如果事務(wù)正常提交,則執(zhí)行事務(wù)的提交過程。事務(wù)提交過程(見圖2)如下:

(1)首先,獲得全局日志緩沖區(qū)的鎖,復(fù)制日志文件到全局日志緩沖區(qū),在檢查點(diǎn)過程時,復(fù)制的是物理日志;在非檢查點(diǎn)過程時,復(fù)制的是邏輯日志。當(dāng)復(fù)制日志文件過程結(jié)束,釋放全局日志緩沖區(qū)的鎖。

(2)把當(dāng)前內(nèi)存數(shù)據(jù)庫頁面替換成其對應(yīng)的影子頁面。

(3)丟棄內(nèi)存數(shù)據(jù)庫老頁面和其對應(yīng)的私有日志區(qū)日志文件。

(4)釋放所有鎖。

(5)如果全局日志緩沖區(qū)中還有這個事務(wù)對應(yīng)的日志文件未被刷新到磁盤文件,則等待相應(yīng)的日志文件的備份完成。

在一般的事務(wù)執(zhí)行過程中,日志先被存放在私有日志區(qū)中,這樣可以有效的減少對全局日志緩沖區(qū)的競爭,并且由于只有正常提交的事務(wù)的私有日志區(qū)日志才會被復(fù)制到全局日志緩沖區(qū),然后刷新到磁盤,所以當(dāng)系統(tǒng)出現(xiàn)故障重啟之后,只要根據(jù)日志進(jìn)行重做即可[8]。

圖2 事務(wù)提交過程

在事務(wù)提交的第一步中,鎖定全局日志緩沖區(qū)后,需要確定復(fù)制物理日志還是邏輯日志到全局日志緩沖區(qū),我們使用一個由檢查點(diǎn)進(jìn)程維護(hù)的全局變量,chkpt_flag來確定。具體算法如下:

由于全局日志緩沖區(qū)的鎖是同步的,也就是說檢查點(diǎn)進(jìn)程不能在事務(wù)寫日志時,寫B(tài)C或者EC到全局日志緩沖區(qū),并設(shè)置監(jiān)測變量,所以事務(wù)日志不會出現(xiàn)部分是物理日志,部分是邏輯日志的情況。

1.3 混合日志

由于本系統(tǒng)模型采用模糊檢查點(diǎn)的策略,檢查點(diǎn)進(jìn)程備份內(nèi)存數(shù)據(jù)庫文件以及全局日志緩沖區(qū)的日志文件到磁盤上的數(shù)據(jù)庫文件和日志文件時,并不阻塞一般事務(wù)的執(zhí)行過程。這樣就會導(dǎo)致檢查點(diǎn)過程刷新內(nèi)存數(shù)據(jù)庫中部分已被更新的臟頁面?zhèn)浞莸酱疟P上的備份數(shù)據(jù)庫中,這樣的情況下,只有通過記錄物理的日志的方式才能使得內(nèi)存數(shù)據(jù)庫恢復(fù)到一致性狀態(tài)。但是如果系統(tǒng)中全部采用物理日志類型的日志就會出現(xiàn)另外一個問題,由于物理日志類型的日志數(shù)據(jù)量龐大,那么在日志的備份以及根據(jù)日志重做方面會消耗大量的時間,系統(tǒng)在執(zhí)行一般事務(wù),以及發(fā)生故障之后的恢復(fù)等操作將會變的異常緩慢,這將成為內(nèi)存數(shù)據(jù)庫的瓶頸。

為了解決以上兩種情況,達(dá)到既能在內(nèi)存數(shù)據(jù)庫不一致情況下發(fā)生故障時把內(nèi)存數(shù)據(jù)庫恢復(fù)到故障前的一致性狀態(tài),又能減少日志文件大小的效果,我們采用混合日志的策略進(jìn)行日志記錄。當(dāng)系統(tǒng)運(yùn)行在兩個檢查點(diǎn)進(jìn)程間的時候,并不進(jìn)行備份操作,即,系統(tǒng)不刷新內(nèi)存數(shù)據(jù)庫中的臟頁面到磁盤上的備份數(shù)據(jù)庫中。因此在這種情況下,不會發(fā)生部分已被更新的臟頁面被刷新到備份數(shù)據(jù)庫的不一致狀況。所以,當(dāng)系統(tǒng)運(yùn)行在兩個檢查點(diǎn)進(jìn)程之間的時候,可以使用邏輯日志類型的日志進(jìn)行日志記錄。邏輯日志類型的日志可以保證內(nèi)存數(shù)據(jù)庫在一致性狀況下發(fā)生故障時,進(jìn)行重做,使得內(nèi)存數(shù)據(jù)庫恢復(fù)到發(fā)生故障之前的狀態(tài)。當(dāng)檢查點(diǎn)進(jìn)程正在運(yùn)行時,我們必須使用物理日志。因?yàn)榇藭r,系統(tǒng)正在不斷備份內(nèi)存數(shù)據(jù)庫的臟頁面到磁盤數(shù)據(jù)庫上,一般事務(wù)的更新操作也在同時進(jìn)行,所以有可能備份了部分已被更新的臟頁面到磁盤上,而此時數(shù)據(jù)庫正處于不一致狀態(tài),如果發(fā)生系統(tǒng)故障,必須使用物理日志才能使得內(nèi)存數(shù)據(jù)庫回到故障發(fā)生之前的狀態(tài)。

通過以上的分析,采用混合日志策略如下:當(dāng)檢查點(diǎn)進(jìn)程正在運(yùn)行時,使用物理日志,當(dāng)系統(tǒng)處于兩個檢查點(diǎn)進(jìn)程之間時,使用邏輯日志。既可以減少日志量,又可以對部分已更新的臟頁被刷新到磁盤備份數(shù)據(jù)庫時發(fā)生系統(tǒng)故障的情況進(jìn)行故障恢復(fù)。

1.4 檢查點(diǎn)過程

檢查點(diǎn)過程主要是把內(nèi)存數(shù)據(jù)庫的臟頁刷新到磁盤上的備份數(shù)據(jù)庫中。為了使檢查點(diǎn)過程不阻塞事務(wù),本系統(tǒng)模型采用模糊檢查點(diǎn)方法[3,6],就是在檢查點(diǎn)過程不對刷新的臟頁加鎖,事務(wù)對頁面可讀寫。一般模糊檢查點(diǎn)過程算法如下:

采用模糊檢查點(diǎn)策略能夠使得檢查點(diǎn)進(jìn)程和事務(wù)并行,不需要在運(yùn)行檢查點(diǎn)進(jìn)程時阻塞事務(wù)進(jìn)程的運(yùn)行。然而采用模糊檢查點(diǎn)策略可能會違反WAL(write-aheadlogging)規(guī)則[7]。考慮以下情況,當(dāng)利用影子頁面方式更新時,事務(wù)首先把日志寫到日志頁面,接著刷新影子頁面的臟數(shù)據(jù)到內(nèi)存數(shù)據(jù)庫中,然后事務(wù)等待日志頁面被刷新到磁盤,如果此時,檢查點(diǎn)進(jìn)程也同時在運(yùn)行,那就可能導(dǎo)致部分已經(jīng)更新到內(nèi)存數(shù)據(jù)庫的臟數(shù)據(jù)被更新到磁盤上的備份數(shù)據(jù)庫,而此時對應(yīng)的日志頁面還沒有被更新到磁盤,這就違反了WAL(write-aheadlogging)規(guī)則。如果在這種情況下,發(fā)生系統(tǒng)故障,因?yàn)榇疟P上沒有對應(yīng)日志文件,磁盤的備份數(shù)據(jù)庫就不能恢復(fù)到一致性狀態(tài)。我們采用乒乓策略[5]作為備份方法來避免在做檢查點(diǎn)時違反了WAL(write-ahead logging)規(guī)則。因?yàn)槠古也呗钥偸蔷S護(hù)兩個備份數(shù)據(jù)庫,檢查點(diǎn)進(jìn)程交替的在兩個數(shù)據(jù)庫之間進(jìn)行備份操作,所以,當(dāng)前進(jìn)行更新操作的數(shù)據(jù)庫頁面的原始頁面總是存在的,所以這樣就能使得備份數(shù)據(jù)庫恢復(fù)到一致性狀態(tài)。檢查點(diǎn)的執(zhí)行過程如下:

(1)首先,不斷的循環(huán)直到獲取全局日志緩沖區(qū)的鎖,并對全局日志緩沖區(qū)加鎖,接著記錄檢查點(diǎn)過程開始標(biāo)記(BC)到全局日志緩沖區(qū),以區(qū)分檢查點(diǎn)開始前和開始后提交的日志。

(2)釋放全局日志緩沖區(qū)的鎖。

(3)把數(shù)據(jù)庫的臟頁復(fù)制到臨時緩沖區(qū),并清除臟頁位,然后將臨時緩沖區(qū)的內(nèi)容刷新到磁盤上備份數(shù)據(jù)庫對應(yīng)的頁面。

(4)取得全局日志緩沖區(qū)的鎖,寫檢查點(diǎn)結(jié)束的標(biāo)記(EC)到全局日志緩沖區(qū)。

(5)釋放全局日志緩沖區(qū)的鎖。

(6)等待全局日志緩沖區(qū)的日志刷新到磁盤,直到檢查點(diǎn)結(jié)束標(biāo)記,EC,被刷新到磁盤日志文件。然后記錄檢查點(diǎn)開始標(biāo)記,BC,的位置,并設(shè)置BC為內(nèi)存數(shù)據(jù)故障恢復(fù)重做起點(diǎn)。

下面一個問題是系統(tǒng)如何根據(jù)備份的數(shù)據(jù)庫文件和日志文件把內(nèi)存數(shù)據(jù)庫恢復(fù)到發(fā)生故障之前的狀態(tài)?在這個過程中需要對數(shù)據(jù)庫文件進(jìn)行重裝以及根據(jù)redo日志文件進(jìn)行重做。那么如何確定redo日志重做起點(diǎn)就成為系統(tǒng)的關(guān)鍵。在本文描述的系統(tǒng)模型中,我們采用混合日志,即在檢查點(diǎn)過程中使用物理日志,在檢查點(diǎn)進(jìn)程間采用的邏輯日志。我們可以使用物理日志對部分更新的數(shù)據(jù)庫文件頁面進(jìn)行恢復(fù),而邏輯日志則無法將部分更新的數(shù)據(jù)庫文件頁面恢復(fù)到之前的一致性狀態(tài)。考慮以下情況,如圖3所示,在檢查點(diǎn)進(jìn)程寫B(tài)C到全局日志緩沖區(qū)的時候,一般事務(wù)T1正在更新內(nèi)存數(shù)據(jù)庫的頁面,那么這些部分更新的內(nèi)存數(shù)據(jù)庫的頁面可能被刷新到磁盤上的備份數(shù)據(jù)庫文件中。而由于事務(wù) T1開始于檢查點(diǎn)進(jìn)程開始之前,T1采用邏輯日志。因此當(dāng)發(fā)生故障的情況下,系統(tǒng)無法根據(jù)日志文件進(jìn)行內(nèi)存數(shù)據(jù)庫的恢復(fù)。鑒于以上情況,我們采用推遲檢查點(diǎn)備份起點(diǎn)策略,系統(tǒng)等待事務(wù)T1的更新操作結(jié)束才開始檢查點(diǎn)的備份操作,這樣檢查點(diǎn)進(jìn)程就可以避免備份部分被更新的數(shù)據(jù)庫頁面,并且其對應(yīng)的日志類型是邏輯日志的情況。事務(wù) T2更新內(nèi)存數(shù)據(jù)庫文件頁面也可能部分被刷新到磁盤上的備份數(shù)據(jù)庫中,但是其日志記錄開始于BC之后,所以其對應(yīng)的日志類型是物理日志,系統(tǒng)可以根據(jù)日志文件將內(nèi)存數(shù)據(jù)庫恢復(fù)到一致性狀態(tài)。根據(jù)以上描述,由于本系統(tǒng)模型采用延遲的檢查點(diǎn)備份起點(diǎn)策略,所以只要記錄上一次完整的檢查點(diǎn)過程的開始位置(BC),并將其作為日志重做起點(diǎn),就可以把重裝后的內(nèi)存數(shù)據(jù)庫恢復(fù)到發(fā)生故障之前的一致性狀態(tài)。

圖3 延遲備份策略

2 故障恢復(fù)

2.1 事務(wù)故障

對于事務(wù)故障,由于我們采用影子頁面技術(shù),事務(wù)在提交之前,系統(tǒng)維護(hù)一個與數(shù)據(jù)庫原頁面一模一樣的影子頁面,事務(wù)所作的修改都發(fā)生在影子頁面上。因此,當(dāng)發(fā)生事務(wù)故障時,我們只需要丟棄該事務(wù)所涉及的所有影子頁面,清空其私有日志緩沖區(qū)即可。也就是說事務(wù)故障恢復(fù)并不涉及磁盤I/O,使得恢復(fù)過程非常迅速。

2.2 系統(tǒng)故障

以下將對于不同時刻發(fā)生的系統(tǒng)故障,重做開始位置的確定進(jìn)行分析。

如圖4所示,系統(tǒng)故障可能發(fā)生在檢查進(jìn)程間,也可能發(fā)生在檢查點(diǎn)過程中:

(1)當(dāng)出現(xiàn)圖4中系統(tǒng)故障1時,即系統(tǒng)故障發(fā)生在兩個檢查點(diǎn)進(jìn)程之間,磁盤數(shù)據(jù)庫處于第K個檢查點(diǎn)進(jìn)程完成后的狀態(tài)。根據(jù)前文的分析可知,對于BCK后第K個檢查點(diǎn)備份點(diǎn)之前已經(jīng)完成的對內(nèi)存數(shù)據(jù)庫頁面的更新操作都將被完整的刷新到磁盤數(shù)據(jù)庫上,而之后對內(nèi)存數(shù)據(jù)庫的更新可能部分被刷新到磁盤數(shù)據(jù)庫,存在不確定性,因此這種情況下,BCK是redo日志的重做起點(diǎn)。

(2)當(dāng)出現(xiàn)圖4中系統(tǒng)故障2時,即系統(tǒng)故障發(fā)生在檢查點(diǎn)過程中。這種情況下,同樣只能保證BCK后第K個檢查點(diǎn)備份點(diǎn)之前的對內(nèi)存數(shù)據(jù)庫的更新被刷新到磁盤數(shù)據(jù)庫,而無法保證之后的更新完整的被刷新到磁盤數(shù)據(jù)庫,因此,同樣BCK是redo日志的重做起點(diǎn)。

從以上分析可知,由于采用了延遲備份的檢查點(diǎn)策略,系統(tǒng)故障發(fā)生后恢復(fù)的redo起點(diǎn)是最近一次完整檢查點(diǎn)過程的開始位置BC處。即只需提供例子中BCK后的日志即可,而無需導(dǎo)入全部的日志文件,減少了日志量,使得恢復(fù)過程更加迅速。

圖4 系統(tǒng)故障情況

3 性能分析

本節(jié)將通過比較采用混合日志和完全采用物理日志兩種策略所產(chǎn)生的日志量,來說明本文所采用的內(nèi)存數(shù)據(jù)庫恢復(fù)方法在恢復(fù)性能上的優(yōu)勢。

假設(shè)內(nèi)存數(shù)據(jù)庫有N個分區(qū),并且采用連續(xù)的檢查點(diǎn)策略,即當(dāng)前一個分區(qū)的檢查點(diǎn)過程結(jié)束之后,緊接著開始后一個分區(qū)的檢查點(diǎn)過程。并且假設(shè)每一個分區(qū)檢查點(diǎn)過程中,事務(wù)對分區(qū)訪問所產(chǎn)生的日志個數(shù)均為S,則一個分區(qū)檢查點(diǎn)過程所產(chǎn)生的日志個數(shù)為SN,所以一個完整的檢查點(diǎn)過程所產(chǎn)生的日志個數(shù)為(SN)N。設(shè)一個物理日志大小為P,一個邏輯日志大小為Q,記一個完整的檢查點(diǎn)過程所產(chǎn)生的日志量為 ChkptLogSize,一個完整的恢復(fù)過程重做的日志量為 ApplyLogSize。則當(dāng)在完全采用物理日志的情況下,有

在采用混合日志的情況下,一個分區(qū)檢查點(diǎn)過程所產(chǎn)生的日志量為SP+SQ(N-1),則

由以上分析可知,ChkptLogSizephysical/ChkptLogSizehybrid=NP/(P+NQ-Q),ApplyLogSizephysical/ApplyLogSizehybrid=(NP+P)/(2P+NQ-Q),由于P比Q大的多,所以,ChkptLogSizephysical/ChkptLogSizehybrid和 ApplyLogSizephysical/ApplyLogSizehybrid都大于1,即采用混合日志策略比采用物理日志策略所產(chǎn)生的日志量和恢復(fù)過程所需的日志量都要小,使得檢查點(diǎn)過程和恢復(fù)過程都有更好的性能表現(xiàn)。

4 結(jié)束語

本文設(shè)計(jì)了一種基于影子頁面和混合日志的內(nèi)存數(shù)據(jù)庫恢復(fù)方法,并結(jié)合模糊檢查點(diǎn)的思想以及延遲備份策略,使得在處理事務(wù)故障時,無需磁盤I/O操作,檢查點(diǎn)過程和事務(wù)執(zhí)行過程并行,并且由于記錄的日志量大大減少,使得內(nèi)存數(shù)據(jù)庫在系統(tǒng)故障后能快速恢復(fù)。將來我們研究的重點(diǎn)是該方法在分段的內(nèi)存數(shù)據(jù)庫中的應(yīng)用以及檢查點(diǎn)進(jìn)程周期的確定等問題。

[1]許貴平,蔡博克.支持實(shí)時內(nèi)存數(shù)據(jù)庫不間斷服務(wù)的恢復(fù)技術(shù)[J].計(jì)算機(jī)工程,2008,34(6):70-71.

[2]王珊,肖艷芹,劉大為,等.內(nèi)存數(shù)據(jù)庫關(guān)鍵技術(shù)研究[J].計(jì)算機(jī)應(yīng)用,2007,27(10):2353-2357.

[3]廖國瓊,劉云生,肖迎元.實(shí)時內(nèi)存數(shù)據(jù)庫分區(qū)模糊檢查點(diǎn)策略[J].計(jì)算機(jī)研究與發(fā)展,2006,43(7):1291-1296.

[4]黃琳,路京,林中.基于影子頁面的MMDB的數(shù)據(jù)恢復(fù)方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(10):2470-2473.

[5]Qin Xiongpai,Xiao Yanqin,Cao Wei,et al.A parallel recovery scheme for update intensive main memory database[C].Otago:PDCAT,2008:509-516.

[6]陳安龍.內(nèi)存數(shù)據(jù)庫中數(shù)據(jù)恢復(fù)技術(shù)的研究與實(shí)現(xiàn)[D].杭州:浙江大學(xué)計(jì)算機(jī)學(xué)院,2006.

[7]肖迎元,劉云生,廖國瓊,等.一種實(shí)時動態(tài)數(shù)據(jù)庫故障恢復(fù)策略[J].軟件學(xué)報(bào),2007,18(10):2516-2527.

[8]Using oracle in-memory database cache to accelerate the oracle database[EB/OL].http://www.oracle.com,2009.

猜你喜歡
頁面數(shù)據(jù)庫
微信群聊總是找不到,打開這個開關(guān)就好了
大狗熊在睡覺
刷新生活的頁面
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
同一Word文檔 縱橫頁面并存
數(shù)據(jù)庫
主站蜘蛛池模板: 欧美在线综合视频| 日韩欧美国产综合| 国产制服丝袜91在线| 欧美亚洲欧美区| 日韩精品资源| 天天躁狠狠躁| 亚洲人成网站色7799在线播放| 青青草原国产免费av观看| 91亚洲精品第一| 欧美午夜性视频| 色悠久久久久久久综合网伊人| 狠狠亚洲婷婷综合色香| 国产午夜不卡| 一级毛片免费高清视频| 天堂va亚洲va欧美va国产| 波多野结衣视频一区二区| 欧美啪啪网| 日韩在线1| 免费观看亚洲人成网站| 久久情精品国产品免费| 亚洲福利一区二区三区| 国产福利拍拍拍| 色综合日本| 91成人试看福利体验区| 色综合热无码热国产| 一区二区午夜| 日本高清免费一本在线观看| 54pao国产成人免费视频| 一级毛片中文字幕| 成人免费午夜视频| 婷婷色丁香综合激情| 91久久天天躁狠狠躁夜夜| 日本尹人综合香蕉在线观看| 波多野一区| 99色亚洲国产精品11p| 久久综合成人| 91精品国产一区| 亚洲国产欧洲精品路线久久| 特级做a爰片毛片免费69| 日韩欧美中文字幕在线韩免费| 精品無碼一區在線觀看 | 香蕉伊思人视频| 精品视频91| 无码一区二区波多野结衣播放搜索| 精品少妇人妻一区二区| 欧美自慰一级看片免费| 国产无码在线调教| 亚洲精品无码不卡在线播放| 欧美日韩福利| av一区二区无码在线| 狠狠v日韩v欧美v| 成人福利一区二区视频在线| 精品福利视频导航| 色噜噜在线观看| 人妻出轨无码中文一区二区| 国产亚洲欧美在线人成aaaa| 亚洲一区二区三区麻豆| 中文字幕av无码不卡免费| 日本爱爱精品一区二区| 漂亮人妻被中出中文字幕久久| 欧美成人精品一区二区| 色男人的天堂久久综合| 婷婷午夜影院| 免费Aⅴ片在线观看蜜芽Tⅴ| 亚洲国产一成久久精品国产成人综合| 欧美日韩在线成人| 麻豆精品在线视频| 欧美不卡二区| 91在线国内在线播放老师| 青草视频网站在线观看| 高清精品美女在线播放| 久久久久免费精品国产| 欧美国产在线看| 国产精品高清国产三级囯产AV| 欧美视频二区| 丰满人妻中出白浆| 青青热久免费精品视频6| 国产精品伦视频观看免费| A级全黄试看30分钟小视频| 亚洲日本一本dvd高清| 欧美中文一区| 亚洲无限乱码一二三四区|