專利名稱:生成最優(yōu)恢復(fù)計(jì)劃的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在系統(tǒng)故障之后恢復(fù)數(shù)據(jù)庫,尤其涉及生成最優(yōu)恢復(fù)計(jì)劃。
背景技術(shù):
在系統(tǒng)故障或數(shù)據(jù)丟失之后恢復(fù)數(shù)據(jù)庫需要一種計(jì)劃以將數(shù)據(jù)庫恢復(fù)到故障前狀態(tài)。對(duì)于大型數(shù)據(jù)庫或具有大量事務(wù)的數(shù)據(jù)庫,構(gòu)建恢復(fù)計(jì)劃是復(fù)雜且單調(diào)乏味的任務(wù)。它通常需要識(shí)別數(shù)據(jù)庫備份,并確定應(yīng)用備份的正確順序,以將數(shù)據(jù)庫帶到故障前的特定時(shí)間點(diǎn)。
根據(jù)與系統(tǒng)故障相關(guān)聯(lián)的特定條件、可用的系統(tǒng)資源以及可用的備份介質(zhì),可以有若干可能的恢復(fù)計(jì)劃。某些計(jì)劃可能比其它計(jì)劃較欠有效。某些計(jì)劃可能由于備份介質(zhì)或系統(tǒng)資源的不可用而是無法實(shí)現(xiàn)的。通常有與將系統(tǒng)恢復(fù)到操作相關(guān)聯(lián)的緊急性意義,因此必須快速地開發(fā)恢復(fù)計(jì)劃。
如果有一種快速且容易地生成最優(yōu)恢復(fù)計(jì)劃以協(xié)助災(zāi)難恢復(fù)的方法將是有幫助的。
除處理系統(tǒng)崩潰之外,還希望驗(yàn)證在萬一發(fā)生崩潰時(shí)恢復(fù)計(jì)劃是可用的。例如,企業(yè)可能希望驗(yàn)證,萬一數(shù)據(jù)庫崩潰,它可以被恢復(fù),且在可能的最短時(shí)間段內(nèi)恢復(fù)。
如果有一種快速且容易地生成最優(yōu)恢復(fù)計(jì)劃,使得能夠驗(yàn)證備份介質(zhì)的可用性以及最優(yōu)恢復(fù)計(jì)劃的存在的方法將是有幫助的。
可能期望對(duì)照生產(chǎn)數(shù)據(jù)庫來驗(yàn)證復(fù)制數(shù)據(jù)庫。例如,假定某人刪除了數(shù)據(jù),但是刪除該數(shù)據(jù)的時(shí)間是未知的。能夠創(chuàng)建恢復(fù)計(jì)劃并將其應(yīng)用于中間時(shí)間點(diǎn),使得可將兩個(gè)數(shù)據(jù)庫進(jìn)行比較來確定數(shù)據(jù)何時(shí)被刪除將是有幫助的。能夠創(chuàng)建特定時(shí)間點(diǎn)的數(shù)據(jù)庫的副本,或許能用于確定發(fā)生數(shù)據(jù)丟失的時(shí)間,或者用于諸如審計(jì)等其它目的將是有幫助的。最優(yōu)恢復(fù)計(jì)劃將有助于以最有效的方式創(chuàng)建指定時(shí)間點(diǎn)的復(fù)制數(shù)據(jù)庫。
發(fā)明內(nèi)容
一恢復(fù)建議器可生成并應(yīng)用一恢復(fù)計(jì)劃,以將數(shù)據(jù)庫恢復(fù)到指定的時(shí)間點(diǎn)。可指定恢復(fù)/復(fù)原情景;可指定可用的資源和備份,并可生成一個(gè)或多個(gè)最優(yōu)恢復(fù)計(jì)劃??烧?qǐng)求一個(gè)或多個(gè)替換計(jì)劃。該計(jì)劃可被應(yīng)用、驗(yàn)證或保存。
當(dāng)結(jié)合附圖閱讀時(shí),能夠更好地理解以上概述以及以下說明性實(shí)施例的詳細(xì)描述。為說明本發(fā)明的目的,附圖中示出了本發(fā)明的示例性構(gòu)造;然而,本發(fā)明不限于所揭示的具體方法和手段。附圖中圖1所示是可在其中實(shí)現(xiàn)本發(fā)明的各方面的示例性計(jì)算環(huán)境的框圖;圖2是依照本發(fā)明的一個(gè)實(shí)施例用于生成最優(yōu)恢復(fù)計(jì)劃的示例性系統(tǒng)的框圖;圖3是依照本發(fā)明的一個(gè)實(shí)施例用于生成最優(yōu)恢復(fù)計(jì)劃的示例性方法的流程圖。
圖4是依照本發(fā)明的用于創(chuàng)建示例性最優(yōu)恢復(fù)計(jì)劃的方法的流程圖。
具體實(shí)施例方式
綜述假定在周二下午2點(diǎn),正當(dāng)最大數(shù)量的用戶依賴于計(jì)算機(jī)系統(tǒng)時(shí),數(shù)據(jù)庫崩潰。假定最后一個(gè)全備份(整個(gè)數(shù)據(jù)庫的副本)最后是在時(shí)刻t0放到磁帶上的,并且崩潰的時(shí)刻是t0+n。將數(shù)據(jù)庫恢復(fù)到恰好在崩潰之前的時(shí)刻要求恢復(fù)最后一個(gè)全備份,并將事務(wù)日志應(yīng)用于恰好在崩潰之前的一點(diǎn)。
現(xiàn)在假定在時(shí)刻t1、t2和t3將三個(gè)事務(wù)日志備份放到磁帶上。還假定一差分備份(自從最后一個(gè)全備份以來對(duì)數(shù)據(jù)庫的改變的副本)在t4放到CD上,并且第四日志備份在t5放到CD上?,F(xiàn)在是t5+n。什么是得到系統(tǒng)備份并運(yùn)行的最佳(最快)方法?一種方法是應(yīng)用最后一個(gè)全備份(t0的備份),然后按順序應(yīng)用四個(gè)日志備份(t1、t2、t3和t5),然后將日志應(yīng)用于恰好在崩潰之前的點(diǎn)。另一種方法是應(yīng)用最后一個(gè)全備份(t0的備份),然后將差分備份(t4時(shí)刻)、t5的事務(wù)日志備份以及日志應(yīng)用于恰好在崩潰之前的點(diǎn)。如果第二日志備份的磁帶損壞會(huì)如何?如果其上儲(chǔ)存了差分備份的CD在薩克拉門托而系統(tǒng)在巴爾的摩會(huì)如何?依照本發(fā)明的某些實(shí)施例,確定一種將數(shù)據(jù)庫恢復(fù)到指定時(shí)間點(diǎn)的最優(yōu)恢復(fù)計(jì)劃。響應(yīng)于接收的輸入,確定一種替換計(jì)劃。在本發(fā)明的某些實(shí)施例中,在數(shù)據(jù)庫恢復(fù)時(shí)間方面,替換計(jì)劃是下一個(gè)最佳計(jì)劃。
示例性計(jì)算環(huán)境圖1及以下討論旨在提供其中可實(shí)現(xiàn)本發(fā)明的合適計(jì)算環(huán)境的簡要概括描述。然而,應(yīng)當(dāng)理解,手持式、便攜式以及所有種類的其它設(shè)備也被構(gòu)想為可用于本發(fā)明。盡管下文描述了通用計(jì)算機(jī),然而它僅是一個(gè)示例,本發(fā)明僅需要具有網(wǎng)絡(luò)服務(wù)器互操作性和交互的瘦客戶機(jī)。由此,本發(fā)明可以在其中包含極少或最少客戶機(jī)資源的網(wǎng)絡(luò)化主宿服務(wù)的環(huán)境中實(shí)現(xiàn),例如,其中客戶機(jī)設(shè)備僅擔(dān)當(dāng)萬維網(wǎng)的瀏覽器或接口的網(wǎng)絡(luò)化環(huán)境。
盡管并非所需,但本發(fā)明將通過由開發(fā)者使用的,和/或包括在網(wǎng)絡(luò)瀏覽軟件的應(yīng)用編程接口(API)來實(shí)現(xiàn),該API可在諸如由如客戶機(jī)工作站、服務(wù)器其它設(shè)備等一個(gè)或多個(gè)計(jì)算機(jī)執(zhí)行的程序模塊等計(jì)算機(jī)可執(zhí)行指令的通用上下文中描述。一般而言,程序模塊包括例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等,它們執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。通常,程序模塊的功能可如各實(shí)施例中所需的那樣組合或分布。此外,本領(lǐng)域的技術(shù)人員可以理解,本發(fā)明可以用其它計(jì)算機(jī)系統(tǒng)配置來事實(shí)。適用于本發(fā)明的其它眾所周知的計(jì)算系統(tǒng)、環(huán)境和/或配置包括但不限于,個(gè)人計(jì)算機(jī)(PC)、自動(dòng)售貨機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費(fèi)者電子產(chǎn)品、網(wǎng)絡(luò)PC、小型機(jī)、大型機(jī)等等。本發(fā)明也可在分布式計(jì)算環(huán)境中實(shí)踐,其中,任務(wù)由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備來執(zhí)行。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)器存儲(chǔ)設(shè)備的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。
由此,圖1示出了其中可實(shí)現(xiàn)本發(fā)明的合適的計(jì)算系統(tǒng)環(huán)境100的一個(gè)示例,盡管如在上文清楚的,計(jì)算系統(tǒng)環(huán)境100僅是合適的計(jì)算環(huán)境的一個(gè)示例,并非暗示對(duì)本發(fā)明的使用范圍或功能的任何局限。也不應(yīng)將計(jì)算環(huán)境100解釋為對(duì)示例性操作環(huán)境100中示出的任一組件或其組合具有任何依賴或需求。
參考圖1,用于實(shí)現(xiàn)本發(fā)明的示例性系統(tǒng)包括計(jì)算機(jī)110形式的通用計(jì)算設(shè)備。計(jì)算機(jī)110的組件可包括但不限于,處理單元120、系統(tǒng)存儲(chǔ)器130以及將包括系統(tǒng)存儲(chǔ)器的各類系統(tǒng)組件耦合至處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是若干種總線結(jié)構(gòu)類型的任一種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線以及使用各類總線體系結(jié)構(gòu)的局部總線。作為示例而非局限,這類體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強(qiáng)ISA(EISA)總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局部總線以及外圍部件互連(PCI)總線(也稱為Mezzanine總線)。
計(jì)算機(jī)110通常包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是可由計(jì)算機(jī)110訪問的任一可用介質(zhì),包括易失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。作為示例而非局限,計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用于儲(chǔ)存諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任一方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性,可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于,RAM、ROM、EEPROM、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲(chǔ)、磁盒、磁帶、磁盤存儲(chǔ)或其它磁存儲(chǔ)設(shè)備、或可以用來儲(chǔ)存所期望的信息并可由計(jì)算機(jī)110訪問的任一其它介質(zhì)。通信介質(zhì)通常具體化為諸如載波或其它傳輸機(jī)制的已調(diào)制數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任一信息傳送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號(hào)”指以對(duì)信號(hào)中的信息進(jìn)行編碼的方式設(shè)置或改變其一個(gè)或多個(gè)特征的信號(hào)。作為示例而非局限,通信介質(zhì)包括有線介質(zhì),如有線網(wǎng)絡(luò)或直接連線連接,以及無線介質(zhì),如聲學(xué)、RF、紅外和其它無線介質(zhì)。上述任一的組合也應(yīng)當(dāng)包括在計(jì)算機(jī)可讀介質(zhì)的范圍之內(nèi)。
系統(tǒng)存儲(chǔ)器130包括以易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì),如只讀存儲(chǔ)器(ROM)131和隨機(jī)存取存儲(chǔ)器(RAM)132。基本輸入/輸出系統(tǒng)133(BIOS)包括如在啟動(dòng)時(shí)幫助在計(jì)算機(jī)110內(nèi)的元件之間傳輸信息的基本例程,通常儲(chǔ)存在ROM 131中。RAM 132通常包含處理單元120立即可訪問或者當(dāng)前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非局限,圖1示出了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計(jì)算機(jī)110也可包括其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。僅作示例,圖1示出了對(duì)不可移動(dòng)、非易失性磁介質(zhì)進(jìn)行讀寫的硬盤驅(qū)動(dòng)器141、對(duì)可移動(dòng)、非易失性磁盤152進(jìn)行讀寫的磁盤驅(qū)動(dòng)器151以及對(duì)可移動(dòng)、非易失性光盤156,如CD ROM或其它光介質(zhì)進(jìn)行讀寫的光盤驅(qū)動(dòng)器155。可以在示例性操作環(huán)境中使用的其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字視頻帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動(dòng)器141通常通過不可移動(dòng)存儲(chǔ)器接口,如接口140連接到系統(tǒng)總線121,磁盤驅(qū)動(dòng)器151和光盤驅(qū)動(dòng)器155通常通過可移動(dòng)存儲(chǔ)器接口,如接口150連接到系統(tǒng)總線121。
上文討論并在圖1示出的驅(qū)動(dòng)器及其關(guān)聯(lián)的計(jì)算機(jī)存儲(chǔ)介質(zhì)為計(jì)算機(jī)110提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲(chǔ)。例如,在圖1中,示出硬盤驅(qū)動(dòng)器141儲(chǔ)存操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147。注意,這些組件可以與操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137相同,也可以與它們不同。這里對(duì)操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147給予不同的標(biāo)號(hào)來說明至少它們是不同的副本。用戶可以通過輸入設(shè)備,如鍵盤162和定位設(shè)備161(通常指鼠標(biāo)、跟蹤球或觸摸板)向計(jì)算機(jī)110輸入命令和信息。其它輸入設(shè)備(未示出)可包括麥克風(fēng)、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀等等。這些和其它輸入設(shè)備通常通過耦合至系統(tǒng)總線的用戶輸入接口160連接至處理單元120,但是也可以通過其它接口和總線結(jié)構(gòu)連接,如并行端口、游戲端口或通用串行總線(USB)。
監(jiān)視器191或其它類型的顯示設(shè)備也通過接口,如視頻接口190連接至系統(tǒng)總線121。諸如Northbridge等圖形接口182也可連接到系統(tǒng)總線121。Northbridge是與CPU或主機(jī)處理單元120通信,并承擔(dān)加速圖形端口(AGP)通信的責(zé)任的芯片組。一個(gè)或多個(gè)圖形處理單元(GPU)184可與圖形接口182通信。在這一點(diǎn)上,GPU 184一般包括片上存儲(chǔ)器存儲(chǔ),如寄存器存儲(chǔ),并且GPU 184與視頻存儲(chǔ)器186通信。然而,GPU 184僅是協(xié)處理器的一個(gè)示例,因此,計(jì)算機(jī)110中可包括各種協(xié)處理設(shè)備。監(jiān)視器191或其它類型的顯示設(shè)備也通過接口,如視頻接口190連接至系統(tǒng)總線121。除監(jiān)視器之外,計(jì)算機(jī)也可包括其它外圍輸出設(shè)備,如揚(yáng)聲器197和打印機(jī)196,它們通過輸出外圍接口195連接。
計(jì)算機(jī)110可以在使用到一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),如遠(yuǎn)程計(jì)算機(jī)180的邏輯連接的網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)180可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其它普通網(wǎng)絡(luò)節(jié)點(diǎn),并通常包括許多或所有相對(duì)于計(jì)算機(jī)110所描述的元件,盡管在圖1中僅示出了存儲(chǔ)器存儲(chǔ)設(shè)備181。圖1描述的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可包括其它網(wǎng)絡(luò)。這類網(wǎng)絡(luò)環(huán)境常見于辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)以及因特網(wǎng)。
當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算機(jī)110通過網(wǎng)絡(luò)接口或適配器170連接至LAN 171。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算機(jī)110可包括調(diào)制解調(diào)器172或用于通過WAN 173,如因特網(wǎng)建立通信的其它裝置。調(diào)制解調(diào)器172可以是內(nèi)置或外置的,通過用戶輸入接口160連接至系統(tǒng)總線121。在網(wǎng)絡(luò)化環(huán)境中,相對(duì)于計(jì)算機(jī)110所描述的程序模塊或其部分可儲(chǔ)存在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。作為示例而非局限,圖1示出遠(yuǎn)程應(yīng)用程序185駐留在存儲(chǔ)器設(shè)備181上??梢岳斫?,示出的網(wǎng)絡(luò)連接是示例性的,也可以使用在計(jì)算機(jī)之間建立通信鏈路的其它裝置。
本領(lǐng)域的普通技術(shù)人員可以理解,計(jì)算機(jī)110或其它客戶機(jī)設(shè)備可作為計(jì)算機(jī)網(wǎng)絡(luò)的一部分來部署。在這一點(diǎn)上,本發(fā)明涉及具有任意數(shù)量的存儲(chǔ)器或存儲(chǔ)單元,以及在任意數(shù)量的存儲(chǔ)單元或卷上出現(xiàn)的任意數(shù)量的應(yīng)用程序和進(jìn)程的任一計(jì)算機(jī)系統(tǒng)。本發(fā)明可應(yīng)用于具有部署在網(wǎng)絡(luò)環(huán)境中的服務(wù)器計(jì)算機(jī)和客戶機(jī)計(jì)算機(jī)、具有遠(yuǎn)程或本地存儲(chǔ)的環(huán)境。本發(fā)明也可應(yīng)用于具有編程語言功能、解釋和執(zhí)行能力的獨(dú)立計(jì)算設(shè)備。
生成最優(yōu)恢復(fù)計(jì)劃圖2是依照本發(fā)明的某些實(shí)施例用于生成最優(yōu)恢復(fù)計(jì)劃的示例性系統(tǒng)的框圖。計(jì)算機(jī)202和218可以是諸如上文相對(duì)于圖1所描述的計(jì)算機(jī)110等計(jì)算機(jī)。數(shù)據(jù)庫204可駐留在計(jì)算機(jī)202上。另外,諸如元數(shù)據(jù)數(shù)據(jù)庫206等數(shù)據(jù)庫可駐留在計(jì)算機(jī)202上。數(shù)據(jù)庫204可表示對(duì)其作備份的源數(shù)據(jù)庫。
圖3是可由諸如數(shù)據(jù)庫204等數(shù)據(jù)庫構(gòu)成的示例性備份時(shí)間線。數(shù)據(jù)庫備份可以是全備份、差分備份或事務(wù)日志備份。如此處所使用的,全備份創(chuàng)建整個(gè)數(shù)據(jù)庫的副本,并可包括數(shù)據(jù)庫的當(dāng)前狀態(tài)以及在直到該點(diǎn)之前應(yīng)用于數(shù)據(jù)庫的事務(wù)的目志,事務(wù)日志備份作出從開始時(shí)間到結(jié)束時(shí)間的事務(wù)的副本,而差分備份作出從始于最后一次全備份的時(shí)間段到作出差分備份的時(shí)刻應(yīng)用于數(shù)據(jù)庫的事務(wù)的副本。
現(xiàn)在參考圖3,在t0302,可作出全備份(例如,備份1304)。備份1304可包含如同在t0所存在的數(shù)據(jù)庫狀態(tài)的副本。在t1306,可作出日志備份(例如,備份2308)。備份2308可包含從時(shí)刻t0302到時(shí)刻t1306應(yīng)用于數(shù)據(jù)庫的事務(wù)。在t2310,可作出日志備份(例如,備份3312)。備份3312可包含從時(shí)刻t1306到時(shí)刻t2310應(yīng)用于數(shù)據(jù)庫的事務(wù)的日志。在t3314,可作出日志備份(例如,備份4316)。備份4316可包含從時(shí)刻t2310到時(shí)刻t3314應(yīng)用于數(shù)據(jù)庫的事務(wù)的日志。在t4318,可作出差分備份(例如,備份5320)。備份5320可包含從時(shí)刻t0302(最后一次全備份的時(shí)刻)到時(shí)刻t4318對(duì)數(shù)據(jù)庫的改變。在t5322,可作出日志備份(例如,備份6324)。備份6324可包含從時(shí)刻t3314到時(shí)刻t5322應(yīng)用于數(shù)據(jù)庫的事務(wù)的日志。
在本發(fā)明的某些實(shí)施例中,事務(wù)日志邏輯上作為一系列日志記錄串來操作。每一日志記錄包括該事務(wù),并由一日志序列號(hào)LSN來標(biāo)識(shí)。LSN可以是與每一事務(wù)相關(guān)聯(lián)的序列號(hào),使得寫到該日志的邏輯末端的每一新日志記錄與高于其之前的記錄的LSN的LSN相關(guān)聯(lián)。由此,在時(shí)間上較早發(fā)生的事務(wù)具有小于在時(shí)間上較晚發(fā)生的事務(wù)的LSN。類似地,如果第一事務(wù)具有第一LSN,下一事務(wù)將具有高于前一事務(wù)的LSN的LSN。
當(dāng)在數(shù)據(jù)庫204上執(zhí)行備份時(shí),與備份相關(guān)聯(lián)的信息可儲(chǔ)存在源元數(shù)據(jù)數(shù)據(jù)庫206中,以及儲(chǔ)存在儲(chǔ)存?zhèn)浞莸慕橘|(zhì)上,此處由存儲(chǔ)介質(zhì)226、228等來表示??蓛?chǔ)存在源元數(shù)據(jù)數(shù)據(jù)庫206和/或存儲(chǔ)介質(zhì)226、228等中的信息可包括存儲(chǔ)介質(zhì)類型(磁帶、CD、磁盤、DVD等)的指示符、存儲(chǔ)介質(zhì)的卷標(biāo)識(shí)符、儲(chǔ)存在存儲(chǔ)介質(zhì)上的第一個(gè)事務(wù)的起始日志序列號(hào)(LSN)、存儲(chǔ)介質(zhì)上的最后一個(gè)事務(wù)的終止LSN、執(zhí)行的備份的類型、執(zhí)行備份的驅(qū)動(dòng)器或設(shè)備、備份的日期等等。
因此,對(duì)于圖3,關(guān)于備份1304、備份2308、備份3312、備份4316、備份5320以及備份6324可儲(chǔ)存在源元數(shù)據(jù)數(shù)據(jù)庫206和/或存儲(chǔ)介質(zhì)中??蓛?chǔ)存在源元數(shù)據(jù)數(shù)據(jù)庫206中的信息可包括存儲(chǔ)介質(zhì)的標(biāo)識(shí)符、存儲(chǔ)介質(zhì)上的第一個(gè)事務(wù)的起始日志序列號(hào)(LSN)、存儲(chǔ)介質(zhì)上的最后一個(gè)事務(wù)的終止LSN等等。
恢復(fù)建議器(advisor),如示例性恢復(fù)建議器214,可駐留在如圖2所示的客戶機(jī)208上??梢岳斫?,客戶機(jī)208可駐留在計(jì)算機(jī)202、218或另一計(jì)算機(jī)上。類似地,恢復(fù)建議器214可駐留在計(jì)算機(jī)202、218或另一計(jì)算機(jī)上,并可針對(duì)源數(shù)據(jù)庫204運(yùn)行,以從任一位置創(chuàng)建目標(biāo)數(shù)據(jù)庫220和目標(biāo)元數(shù)據(jù)數(shù)據(jù)庫222?;謴?fù)建議器214可嵌入在數(shù)據(jù)庫管理工具中,并可被實(shí)現(xiàn)為可插組件。
當(dāng)調(diào)用恢復(fù)建議器214時(shí),可生成最優(yōu)恢復(fù)計(jì)劃,如恢復(fù)計(jì)劃216。最優(yōu)恢復(fù)計(jì)劃可標(biāo)識(shí)必須以什么順序應(yīng)用哪些備份,以在給定一組約束下用可能的最有效方法來重新創(chuàng)建數(shù)據(jù)庫。在某些實(shí)施例中,可生成一個(gè)或多個(gè)恢復(fù)計(jì)劃216等?;謴?fù)計(jì)劃216等可儲(chǔ)存在源元數(shù)據(jù)數(shù)據(jù)庫206、目標(biāo)元數(shù)據(jù)數(shù)據(jù)庫222或分開的存儲(chǔ)體(bank)224中。關(guān)于由恢復(fù)建議器214用于產(chǎn)生恢復(fù)計(jì)劃的備份的信息可從以下的一個(gè)或多個(gè)中檢索源元數(shù)據(jù)數(shù)據(jù)庫206、目標(biāo)元數(shù)據(jù)數(shù)據(jù)庫222、備份介質(zhì)226、228等、存儲(chǔ)體224,或從用戶輸入中檢索。
圖4示出了用于創(chuàng)建示例性最優(yōu)恢復(fù)計(jì)劃的方法。在步驟402,響應(yīng)于數(shù)據(jù)庫系統(tǒng)故障或數(shù)據(jù)丟失的通知、或期望驗(yàn)證有效恢復(fù)計(jì)劃可用的通知、或要?jiǎng)?chuàng)建如特定時(shí)間點(diǎn)存在的數(shù)據(jù)庫的復(fù)制數(shù)據(jù)庫的通知,可調(diào)用最優(yōu)恢復(fù)計(jì)劃工具,并啟動(dòng)該工具。
可顯示按各種事件歸類的一系列情景。事件可包括系統(tǒng)故障、數(shù)據(jù)丟失、維護(hù)任務(wù)等等。例如,可顯示以下情景的任一個(gè)或所有以供選擇恢復(fù)或復(fù)原現(xiàn)有數(shù)據(jù)庫、將現(xiàn)有數(shù)據(jù)庫恢復(fù)或復(fù)原到特定時(shí)間點(diǎn)、當(dāng)數(shù)據(jù)庫保持在線時(shí)恢復(fù)現(xiàn)有數(shù)據(jù)庫的一個(gè)子集、將數(shù)據(jù)庫的一個(gè)子集恢復(fù)到另一位置以供調(diào)查、恢復(fù)數(shù)據(jù)庫中被破壞的數(shù)據(jù)頁、從現(xiàn)有數(shù)據(jù)庫創(chuàng)建新數(shù)據(jù)庫、將數(shù)據(jù)庫移至新位置、恢復(fù)數(shù)據(jù)庫的一個(gè)子集以提取數(shù)據(jù)的一部分、等等。可選擇合適的情景。
在步驟404,可向用戶提示源數(shù)據(jù)庫的標(biāo)識(shí)和/或位置、恢復(fù)過程的目標(biāo)名稱和/或目的地、儲(chǔ)存?zhèn)浞輾v史信息的源和/或目標(biāo)元數(shù)據(jù)數(shù)據(jù)庫、可用系統(tǒng)資源、可用備份和備份歷史信息以及要恢復(fù)數(shù)據(jù)庫的時(shí)間點(diǎn)(例如,目標(biāo)恢復(fù)時(shí)間,諸如“恢復(fù)到可能的最近處”、“恢復(fù)到標(biāo)記的事務(wù)”、“恢復(fù)到特定日期/時(shí)間”)。在本發(fā)明的某些實(shí)施例中,生成將數(shù)據(jù)庫恢復(fù)到特定檢查點(diǎn)的恢復(fù)計(jì)劃,而不是生成將數(shù)據(jù)庫恢復(fù)到指定時(shí)間點(diǎn)的恢復(fù)計(jì)劃。如上所述,檢查點(diǎn)是已被標(biāo)記的特定事務(wù)?;蛘撸撔畔⒖扇缟纤龅貜脑丛獢?shù)據(jù)數(shù)據(jù)庫中獲得,并且因此可接收源元數(shù)據(jù)數(shù)據(jù)庫的標(biāo)識(shí)。
用戶也可指定恢復(fù)的目標(biāo)日期/時(shí)間和恢復(fù)之后的數(shù)據(jù)庫狀態(tài)(例如,“不帶恢復(fù)”或“帶有恢復(fù)”。“不帶恢復(fù)”或“帶有恢復(fù)”指處理未完成事務(wù)的方法。例如,如果應(yīng)用了附加事務(wù)日志,則可能期望指定“不帶恢復(fù)”地恢復(fù)數(shù)據(jù)庫,這意味著不收回未完成的事務(wù)。如果未應(yīng)用其它事務(wù)日志,則可能期望指定“帶有恢復(fù)”地恢復(fù)數(shù)據(jù)庫,這意味著收回未完成的事務(wù)。)在步驟406,可生成用于該數(shù)據(jù)庫的適當(dāng)?shù)幕謴?fù)計(jì)劃。在本發(fā)明的某些實(shí)施例中,可訪問儲(chǔ)存的情景的存儲(chǔ)體來確定是否已對(duì)指定的情景和數(shù)據(jù)庫生成了恢復(fù)計(jì)劃等等。計(jì)劃可包括根據(jù)步驟404中所接收的約束而要采取來恢復(fù)數(shù)據(jù)庫的一個(gè)或多個(gè)步驟或行動(dòng)。在本發(fā)明的某些實(shí)施例中,每一計(jì)劃步驟的細(xì)節(jié)可被呈現(xiàn)為步驟列表。在選擇步驟之一之后,可查看細(xì)節(jié),并可改變對(duì)該步驟指定的備份設(shè)備。
在本發(fā)明的某些實(shí)施例中,可請(qǐng)求替換計(jì)劃。例如,再次參考圖3,假定要應(yīng)用備份1304和備份5320(按該順序),但是備份5320具有讀錯(cuò)誤,并且不可使用??烧?qǐng)求一替換計(jì)劃。響應(yīng)于對(duì)替換計(jì)劃的請(qǐng)求,可生成第二恢復(fù)計(jì)劃,例如,指定應(yīng)該應(yīng)用備份1304、備份2308、備份3312和備份4316(按該順序)。
在步驟408,該計(jì)劃可被執(zhí)行、保存或驗(yàn)證(“干運(yùn)行(Dry Run)”)執(zhí)行。在本發(fā)明的某些實(shí)施例中,恢復(fù)計(jì)劃被保存為腳本文件?;謴?fù)計(jì)劃可保存在源元數(shù)據(jù)數(shù)據(jù)庫、目標(biāo)元數(shù)據(jù)數(shù)據(jù)庫或恢復(fù)計(jì)劃存儲(chǔ)體或數(shù)據(jù)庫中。
在步驟410,從步驟404獲得的信息可儲(chǔ)存在源元數(shù)據(jù)數(shù)據(jù)庫(如源元數(shù)據(jù)數(shù)據(jù)庫206)、目標(biāo)元數(shù)據(jù)數(shù)據(jù)庫(如目標(biāo)元數(shù)據(jù)數(shù)據(jù)庫222)中。該信息可用于使恢復(fù)建議器能夠從先前的恢復(fù)計(jì)劃中進(jìn)行“學(xué)習(xí)”。
此處描述的各種計(jì)數(shù)可結(jié)合硬件或軟件,或在適當(dāng)時(shí)用兩者的組合來實(shí)現(xiàn)。由此,本發(fā)明的方法和裝置,或其某些方面或部分,可采用包含在諸如軟盤、CD-ROM、硬盤或任何其它機(jī)器可讀存儲(chǔ)介質(zhì)等有形介質(zhì)中的程序代碼(即,指令)的形式,其中,當(dāng)程序代碼被加載到諸如計(jì)算機(jī)等機(jī)器中并由其執(zhí)行時(shí),該機(jī)器變?yōu)橛糜趯?shí)施本發(fā)明的裝置。在可編程計(jì)算機(jī)上的程序代碼執(zhí)行的情況下,計(jì)算裝置一般包括處理器、處理器可讀的存儲(chǔ)介質(zhì)(包括易失性和非易失性存儲(chǔ)器和/或存儲(chǔ)元件)、至少一個(gè)輸入設(shè)備以及至少一個(gè)輸出設(shè)備??衫缤ㄟ^使用數(shù)據(jù)處理API或其類似物,來使用本發(fā)明的專用領(lǐng)域編程模型方面的創(chuàng)建和/或?qū)崿F(xiàn)的一個(gè)或多個(gè)程序,較佳地以高級(jí)過程或面向?qū)ο蟮木幊陶Z言來實(shí)現(xiàn),以與計(jì)算機(jī)系統(tǒng)通信。然而,程序也可以用匯編語言或機(jī)器語言來實(shí)現(xiàn)。在任何情況下,語言可以是被編譯或被00000解釋語言,并與硬件實(shí)現(xiàn)相組合。
盡管結(jié)合各附圖的較佳實(shí)施例描述了本發(fā)明,然而可以理解,可以在不脫離本發(fā)明的情況下,使用其它類似的實(shí)施例或?qū)λ枋龅膶?shí)施例作出修改和添加,以執(zhí)行本發(fā)明的相同功能。因此,本發(fā)明不應(yīng)限于任何單個(gè)實(shí)施例,而是相反,應(yīng)當(dāng)依照所附權(quán)利要求書的寬度和范圍來解釋。
權(quán)利要求
1.一種用于生成最優(yōu)恢復(fù)計(jì)劃的系統(tǒng),包括一恢復(fù)建議器,它提出多個(gè)恢復(fù)情景,并接收一恢復(fù)情景選擇;其中,響應(yīng)于接收所述恢復(fù)情景選擇,所述恢復(fù)建議器提出用于標(biāo)識(shí)源數(shù)據(jù)庫、目標(biāo)數(shù)據(jù)庫以及源數(shù)據(jù)庫的備份歷史位置的一系列提示;以及其中,響應(yīng)于接收源數(shù)據(jù)庫、目標(biāo)數(shù)據(jù)庫以及源數(shù)據(jù)庫的備份歷史位置,所述恢復(fù)建議器生成所述最優(yōu)恢復(fù)計(jì)劃,所述最優(yōu)恢復(fù)計(jì)劃指定了要應(yīng)用的多個(gè)備份以及應(yīng)用所述多個(gè)備份的順序。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述恢復(fù)建議器執(zhí)行所述最優(yōu)恢復(fù)計(jì)劃以生成一經(jīng)恢復(fù)的數(shù)據(jù)庫,所述經(jīng)恢復(fù)的數(shù)據(jù)庫包括所述目標(biāo)數(shù)據(jù)庫。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述恢復(fù)建議器保存所述最優(yōu)恢復(fù)計(jì)劃。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述恢復(fù)建議器驗(yàn)證所述最優(yōu)恢復(fù)計(jì)劃,以確定所述最優(yōu)恢復(fù)計(jì)劃是否可執(zhí)行。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述最優(yōu)恢復(fù)計(jì)劃作為腳本文件保存。
6.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括用于儲(chǔ)存所述源數(shù)據(jù)庫的備份歷史的本地源元數(shù)據(jù)數(shù)據(jù)庫。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括用于儲(chǔ)存所述源數(shù)據(jù)庫的備份歷史的遠(yuǎn)程源元數(shù)據(jù)數(shù)據(jù)庫。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括用于儲(chǔ)存所述源數(shù)據(jù)庫的備份歷史的至少一個(gè)備份介質(zhì)。
9.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述恢復(fù)建議器接收一時(shí)間點(diǎn),所述源數(shù)據(jù)庫要被恢復(fù)到該時(shí)間點(diǎn)。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述目標(biāo)數(shù)據(jù)庫包括恢復(fù)到所述時(shí)間點(diǎn)的源數(shù)據(jù)庫。
11.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述恢復(fù)建議器接收將所述源數(shù)據(jù)庫恢復(fù)到由一標(biāo)記的事務(wù)確定的點(diǎn)的請(qǐng)求。
12.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述目標(biāo)數(shù)據(jù)庫包括恢復(fù)到由所述標(biāo)記的事務(wù)確定的點(diǎn)的源數(shù)據(jù)庫。
13.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括用于儲(chǔ)存至少一個(gè)備份的備份歷史的源元數(shù)據(jù)數(shù)據(jù)庫。
14.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括用于儲(chǔ)存關(guān)于至少一個(gè)備份的可用性的信息的源元數(shù)據(jù)數(shù)據(jù)庫。
15.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括用于儲(chǔ)存至少一個(gè)備份的備份歷史的目標(biāo)元數(shù)據(jù)數(shù)據(jù)庫。
16.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括用于儲(chǔ)存關(guān)于至少一個(gè)備份的可用性的信息的目標(biāo)元數(shù)據(jù)數(shù)據(jù)庫。
17.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述最優(yōu)恢復(fù)計(jì)劃指定了多個(gè)備份以及應(yīng)用所述多個(gè)備份以生成目標(biāo)數(shù)據(jù)庫的順序。
18.如權(quán)利要求1所述的系統(tǒng),其特征在于,以指定的順序應(yīng)用所指定的多個(gè)備份導(dǎo)致以最少量的時(shí)間來恢復(fù)目標(biāo)數(shù)據(jù)庫。
19.如權(quán)利要求1所述的系統(tǒng),其特征在于,響應(yīng)于接收對(duì)一替換計(jì)劃的請(qǐng)求,所述恢復(fù)建議器生成第二恢復(fù)計(jì)劃,所述第二恢復(fù)計(jì)劃考慮所接收到的一組約束。
20.如權(quán)利要求19所述的系統(tǒng),其特征在于,所述一組約束包括至少一個(gè)不可用備份。
21.如權(quán)利要求19所述的系統(tǒng),其特征在于,所述一組約束包括至少一個(gè)不可用系統(tǒng)資源。
22.一種用于生成數(shù)據(jù)庫恢復(fù)計(jì)劃的方法,包括生成源數(shù)據(jù)庫的一組可能恢復(fù)情景;接收對(duì)所述一組可能恢復(fù)情景中的至少一個(gè)以及一時(shí)間點(diǎn)的選擇,目標(biāo)數(shù)據(jù)庫要被恢復(fù)到所述時(shí)間點(diǎn);生成一最優(yōu)恢復(fù)計(jì)劃,所述最優(yōu)恢復(fù)計(jì)劃包括多個(gè)備份以及應(yīng)用所述多個(gè)備份的順序。
23.如權(quán)利要求22所述的方法,其特征在于,所述一組可能恢復(fù)情景包括維護(hù)任務(wù)。
24.如權(quán)利要求22所述的方法,其特征在于,所述一組可能恢復(fù)情景包括數(shù)據(jù)丟失。
25.如權(quán)利要求22所述的方法,其特征在于,所述一組可能恢復(fù)情景包括數(shù)據(jù)庫故障。
26.如權(quán)利要求22所述的方法,其特征在于,所述時(shí)間點(diǎn)包括到達(dá)一標(biāo)記的事務(wù)。
27.如權(quán)利要求22所述的方法,其特征在于,所述時(shí)間點(diǎn)包括日期和時(shí)間。
28.如權(quán)利要求22所述的方法,其特征在于,生成一替換計(jì)劃。
29.如權(quán)利要求22所述的方法,其特征在于,還包括接收關(guān)于約束的信息。
30.如權(quán)利要求29所述的方法,其特征在于,還包括生成考慮所述約束的最優(yōu)恢復(fù)計(jì)劃。
31.如權(quán)利要求22所述的方法,其特征在于,所述最優(yōu)計(jì)劃指定了多個(gè)備份以及應(yīng)用所述多個(gè)備份來生成目標(biāo)數(shù)據(jù)庫的順序。
32.如權(quán)利要求31所述的方法,其特征在于,以所述順序應(yīng)用所述多個(gè)備份導(dǎo)致以最少量的時(shí)間來恢復(fù)所述目標(biāo)數(shù)據(jù)庫。
33.一種包括計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述指令用于生成對(duì)于源數(shù)據(jù)庫的一組可能恢復(fù)情景;接收對(duì)所述一組可能恢復(fù)情景中的至少一個(gè)以及一時(shí)間點(diǎn)的選擇,一目標(biāo)數(shù)據(jù)庫要恢復(fù)到所述時(shí)間點(diǎn);生成一最優(yōu)恢復(fù)計(jì)劃,所述最優(yōu)恢復(fù)計(jì)劃指定了多個(gè)備份以及應(yīng)用所述多個(gè)備份的順序。
34.如權(quán)利要求33所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括用于接收由到達(dá)一標(biāo)記的事務(wù)標(biāo)識(shí)的時(shí)間點(diǎn)的計(jì)算機(jī)可執(zhí)行指令。
35.如權(quán)利要求33所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括用于接收包括日期和時(shí)間的時(shí)間點(diǎn)的計(jì)算機(jī)可執(zhí)行指令。
36.如權(quán)利要求33所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括用于生成一替換計(jì)劃的計(jì)算機(jī)可執(zhí)行指令。
37.如權(quán)利要求33所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括用于接收關(guān)于約束的信息的計(jì)算機(jī)可執(zhí)行指令。
38.如權(quán)利要求37所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括用于生成考慮所述約束的最優(yōu)恢復(fù)計(jì)劃的計(jì)算機(jī)可執(zhí)行指令。
39.如權(quán)利要求33所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括用于指定多個(gè)備份以及應(yīng)用所述多個(gè)備份來生成目標(biāo)數(shù)據(jù)庫的順序的計(jì)算機(jī)可執(zhí)行指令。
40.如權(quán)利要求39所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括用于以指定的順序應(yīng)用所指定的多個(gè)備份以導(dǎo)致以最少量的時(shí)間恢復(fù)目標(biāo)數(shù)據(jù)庫的計(jì)算機(jī)可執(zhí)行指令。
全文摘要
一種恢復(fù)建議器可生成并應(yīng)用一恢復(fù)計(jì)劃以將數(shù)據(jù)庫恢復(fù)到指定的時(shí)間點(diǎn)??芍付ɑ謴?fù)/復(fù)原情景;可指定可用的資源和備份;并可生成一個(gè)或多個(gè)最優(yōu)恢復(fù)計(jì)劃??烧?qǐng)求一個(gè)或多個(gè)替換計(jì)劃。該計(jì)劃可被應(yīng)用、驗(yàn)證或保存。
文檔編號(hào)G06F17/30GK1740982SQ200510089510
公開日2006年3月1日 申請(qǐng)日期2005年7月22日 優(yōu)先權(quán)日2004年8月24日
發(fā)明者M·S·拉赫恩 申請(qǐng)人:微軟公司