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