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