實(shí)戰(zhàn)Oracle數(shù)據(jù)庫備份與恢復(fù)
用戶可以留意一下有幾個常見的Oracle備份問題。首先,備份Oracle數(shù)據(jù)庫不僅包括物理數(shù)據(jù)備份(數(shù)據(jù)庫文件的副本),而且包括邏輯數(shù)據(jù)的備份---數(shù)據(jù)用SQL命令導(dǎo)出以及在重做日志文件緩存中的已提交和未提交的改變。
當(dāng)Oracle數(shù)據(jù)庫發(fā)生故障時,需要恢復(fù)相關(guān)的數(shù)據(jù)庫文件?;謴?fù)操作需要使用重做數(shù)據(jù)將備份更新到一個新的時間點(diǎn),并將數(shù)據(jù)庫回滾到事務(wù)未提交前無錯誤的一致狀態(tài)。如果數(shù)據(jù)庫或IT系統(tǒng)管理員已經(jīng)使用了數(shù)據(jù)庫快照,那么恢復(fù)可能只需要利用快照并對之應(yīng)用重做數(shù)據(jù)。
在Oracle數(shù)據(jù)庫備份中,有許多文件需要備份。它們是數(shù)據(jù)文件,控制文件,聯(lián)機(jī)重做日志文件和歸檔重做日志文件。 Oracle數(shù)據(jù)庫被組織成一個或多個物理文件,它們在邏輯上被稱為表空間。數(shù)據(jù)文件本身被劃分為數(shù)據(jù)塊。控制文件包含數(shù)據(jù)庫名稱,創(chuàng)建時間戳,數(shù)據(jù)文件,重做日志文件,一個檢查點(diǎn)和備份元數(shù)據(jù)。重做日志文件記錄了數(shù)據(jù)庫的所有變化。
每個數(shù)據(jù)庫都有一種回滾和撤消改變的機(jī)制,用來遏制和消除變化。在Oracle中,這就是所謂的自動管理撤消。撤消記錄有助于回滾事務(wù)操作、恢復(fù)和數(shù)據(jù)讀取一致性。
Oracle數(shù)據(jù)庫的備份方法
Oracle提供了許多方法來備份數(shù)據(jù)庫。其中包括恢復(fù)管理器(RMAN),能使備份恢復(fù)操作自動化;Oracle數(shù)據(jù)泵,用以數(shù)據(jù)庫的邏輯備份;以及用戶管理,用戶管理允許用戶通過操作系統(tǒng)命令手動備份數(shù)據(jù)庫。
同時還有各種各樣的其他的數(shù)據(jù)庫備份和恢復(fù)軟件,增強(qiáng)了Oracle的備份實(shí)用程序,如CommVault公司的Simpana和IBM公司的Tivoli Storage Manager。
Matthew Staver,Pentel公司加利福尼州亞托蘭斯的信息技術(shù)部經(jīng)理,使用一系列工具的聯(lián)合。Staver說,“當(dāng)我們處理一些特別事務(wù)時,將采用HP(Hewlett-Packard's)存儲業(yè)務(wù)EVA商業(yè)拷貝軟件來進(jìn)行快照處理,如果我們需要推出一個新的數(shù)據(jù)庫補(bǔ)丁到Oracle時,我們會首先做一個快照,這樣我們可以在任何出錯的情況下回滾?!?/P>
Staver擁有惠普企業(yè)虛擬陣列和各種HP Blade System伺服器來部署和管理Oracle數(shù)據(jù)庫。對于日常數(shù)據(jù)庫備份操作,他利用Oracle的RMAN方式進(jìn)行。 Staver還依靠惠普的復(fù)制解決方案管理服務(wù)來克隆他的數(shù)據(jù)庫,供測試和開發(fā)使用。
“當(dāng)我們要刷新我們用來測試和開發(fā)的Oracle實(shí)例時,我們會對產(chǎn)品數(shù)據(jù)庫做一個快照處理” Staver 說,“當(dāng)數(shù)據(jù)庫與惠普公司稱之為復(fù)制解決方案管理器的腳本一起運(yùn)行時我們能夠做到這些。[這]讓你的腳本與存儲區(qū)域網(wǎng)絡(luò)相關(guān),使你的數(shù)據(jù)庫進(jìn)入熱備份模式,以及基于時間點(diǎn)的快照,將其置于SAN的VMware主機(jī)上,然后運(yùn)行Oracle數(shù)據(jù)庫快速克隆腳本,一到兩分鐘內(nèi)完成所有數(shù)據(jù)的備份操作”
Staver說,對于Oracle快速克隆過程,數(shù)據(jù)庫管理員需要幾個小時將其上線。而這一過程通常需要花費(fèi)一到兩天時間來從磁帶恢復(fù)并應(yīng)用。
Oracle自動存儲管理器
另一個來自東南部大學(xué)的一位不愿意透露身份的IT負(fù)責(zé)人同樣使用一個Oracle工具進(jìn)行數(shù)據(jù)庫的備份操作。
“我們正在Oracle的集群環(huán)境中使用自動存儲管理,因?yàn)檫@允許我們在Oracle安裝可見的集群上同時制作兩份數(shù)據(jù)副本”,他說, “從數(shù)據(jù)中心到最不繁忙的節(jié)點(diǎn),我們都可以進(jìn)行備份。當(dāng)我們備份到A節(jié)點(diǎn)時,花費(fèi)的時間較多。這樣,因?yàn)槲覀円呀?jīng)跨過了這個時間,我們可以對另一個節(jié)點(diǎn)B進(jìn)行相應(yīng)的備份操作,這將我們的備份時間從大約12個小時縮短到2小時以內(nèi)?!?/P>
Oracle備份提示
以下是一些來自專家的有用的Oracle數(shù)據(jù)庫備份***實(shí)踐,包括:
1. 當(dāng)數(shù)據(jù)庫處于運(yùn)行狀態(tài)時的熱備份時,不備份活動事務(wù);
2. 使用比如Oracle工具或者其他的第三方軟件壓縮Oracle備份數(shù)據(jù),比如IBM/Tivoli的數(shù)據(jù)存儲管理器等。例如,使用Oracle RAMN,數(shù)據(jù)庫表的壓縮能夠?qū)⒋蟊硗暾麙呙璧臅r間減少一半。
3. 如果維持?jǐn)?shù)據(jù)存儲空間比備份和恢復(fù)數(shù)據(jù)庫時間更重要的話,可以考慮使用二進(jìn)制壓縮。
【編輯推薦】