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