Oracle備份系統(tǒng)提供的6種備份技術(shù)
在開發(fā)者環(huán)境中,應(yīng)用開發(fā)者將與數(shù)據(jù)庫管理員一同工作以設(shè)計一個邏輯備份策略。一般存在兩個數(shù)據(jù)庫拷貝,一個是成品數(shù)據(jù)庫,另一個由開發(fā)者使用,用來調(diào)試他們的程序。開發(fā)數(shù)據(jù)庫將與成品數(shù)據(jù)庫定期地保持同步。它們通常僅用于保護同一臺機器和實例中的數(shù)據(jù)免遭數(shù)據(jù)丟失。
下面提供了幾個例子對應(yīng)說明了每一種Oracle備份系統(tǒng)的正確使用。
1.Oracle備份系統(tǒng)中的物理備份
物理備份是所采用的最主要的備份方式。如果發(fā)生物理數(shù)據(jù)庫丟失或崩潰,物理備份用于保證數(shù)據(jù)庫在最小的數(shù)據(jù)丟失或沒有數(shù)據(jù)丟失的情況下得到恢復(fù)。
2.Oracle備份系統(tǒng)中的冷物理備份
冷物理備份提供了最簡單和最直接的方法保護數(shù)據(jù)庫免遭物理損壞或丟失。正確使用冷物理備份的示例如下:
■數(shù)據(jù)庫已經(jīng)在一臺數(shù)據(jù)庫服務(wù)器上創(chuàng)建,你想按常規(guī)對數(shù)據(jù)庫執(zhí)行一個備份。數(shù)據(jù)庫在備份過程中不必處于可用狀態(tài)。
■系統(tǒng)管理員將對你的磁盤進行升級,每張磁盤的容量從4GB升為9GB。你需要備份系統(tǒng)并在新驅(qū)動器中相同的目錄結(jié)構(gòu)下恢復(fù)它。
3.Oracle備份系統(tǒng)中的熱物理備份
熱物理備份提供了相同的保護方法用于免遭物理數(shù)據(jù)庫損壞。備份過程在數(shù)據(jù)庫打開并且用戶可以使用的情況下進行。需要執(zhí)行熱物理備份的情形如下:
■你的業(yè)務(wù)需求要求你的用戶群體可以1周7天、1天24小時地使用數(shù)據(jù)庫。
■研究結(jié)果表明你的數(shù)據(jù)庫需要一整天的處理以達到一個高緩存命中率。在系統(tǒng)中使用許多GB內(nèi)存的特大型Oracle數(shù)據(jù)庫中,往往需要花費幾個小時的處理時間才能使Oracle緩存整個數(shù)據(jù)工作組。盡管系統(tǒng)能夠在夜晚關(guān)閉,但是如果數(shù)據(jù)庫不在夜晚關(guān)閉的話,其早晨的性能會更好。
■盡管你的用戶群體一天僅需要系統(tǒng)運行12小時,然而剩余的12小時幾乎都花費在批處理上;沒有足夠的停機時間用于批處理與系統(tǒng)備份兩方面上。
4.Oracle備份系統(tǒng)中的邏輯備份
邏輯備份用于實現(xiàn)數(shù)據(jù)庫對象的恢復(fù)并且它是一個全面?zhèn)浞莶呗缘谋匾慕M成部分,用來保證數(shù)據(jù)庫能夠從無意中的修改(例如DELETE、DROP或UPDATE)中恢復(fù)出來。
5.Oracle備份系統(tǒng)中的完全邏輯備份
完全邏輯備份把整個數(shù)據(jù)庫導(dǎo)出到一個Oracle格式文件中,該文件可以在不同的Oracle版本、操作系統(tǒng)和硬件平臺之間進行移植。如下特殊情況或許需要執(zhí)行一個完全邏輯備份:
■你沒有另外的作為測試平臺的物理系統(tǒng),但是你有處于同一臺機器上的成品與測試實例并且你希望它們不時地進行同步。
■新服務(wù)器剛安裝完并且將用來替換你的老服務(wù)器。你的老數(shù)據(jù)庫服務(wù)器與新數(shù)據(jù)庫服務(wù)器使用不同的平臺(例如,Sun與HP)。
6.Oracle備份系統(tǒng)中的指定表的邏輯備份
Oracle的邏輯備份工具可完成指定表的邏輯備份。此功能可用于如下情形:
■你需要把表ABC從JSMITH模式移動到TGASPER模式。
■盡管你想保存表ABC的備份拷貝,然而你將要刪除它。
7.指定用戶的邏輯備份邏輯備份可由一個或多個指定用戶(或模式)組成。
當(dāng)出現(xiàn)如下情形時,你或許想要使用此功能:
■你剛被告知可以刪除用戶JSMITH。該用戶擁有幾個表,而你認(rèn)為某些人有可能以后會需要這些表,所以你想要備份JSMITH模式。
■有一個應(yīng)用,該應(yīng)用使用的表完全包含在一個單獨的模式中。你計劃對此應(yīng)用進行升級,必須運行一個腳本對表和索引進行“更新”以便新版本能夠正常工作。
提示:這些具體的事例說明了不同的備份方法適合于在你的數(shù)據(jù)庫工作中所遇到的不同情形。不要只依賴一種備份方法。盡管大多數(shù)數(shù)據(jù)庫管理員知道需要物理備份的必要性,但仍有許多人不會定期運行邏輯備份。這使他們?nèi)菀资艿揭粭l無意間使用的DROP命令的損害。記住,DROP命令是立即執(zhí)行的,沒有回滾。
在Oracle技術(shù)支持的幫助下,使用物理備份恢復(fù)一張已被刪除的表是可能的。此恢復(fù)過程非常耗時間并且代價很大,該過程或許可以通過使用邏輯備份來避免。記住,系統(tǒng)不必為邏輯備份而關(guān)閉。在你運行一個沒有經(jīng)過仔細檢查的SQL腳本以前,執(zhí)行邏輯備份是非常重要的事情。因為DROP或DELETE命令或許出人意料地隱藏起來,等待時機對你的數(shù)據(jù)庫“發(fā)動攻擊”。
假如你把熱備份作為你的物理備份的話,那么有機會時你還要運行冷備份。由于熱備份的復(fù)雜性,使得許多數(shù)據(jù)庫管理員(包括我自己)錯誤地認(rèn)為他們已經(jīng)有了一個相當(dāng)近期的冷備份,這樣的話,他們不能有足夠的備份。
【編輯推薦】