Oracle向數據庫管理員(DBA)提供了多種轉儲後備副本的方法,如文件拷貝、利用Oracle的Export實用程序,用SQL命令spool以及自己編程實現等。相應地,Oracle也提供了多種重裝後備副本的方法,如文件拷貝、利用Oracle的Import實用程序、利用SQL*Loader以及自己編程實現等。
在Oracle的早期版本中,日志文件以數據塊為單位,也就是說,Oracle的恢復操作不是基於操作,而是基於數據塊的。Oracle將更新前的舊值與更新後的新值分別放在兩個不同的日志文件中。記錄數據庫更新前的舊值的日志文件稱為數據庫前像文件(Befor Image,簡稱BI文件),記錄數據庫更新後的新值的日志文件稱為數據庫的後像文件(After Image,簡稱AI文件)。由於BI文件關系到能否將數據庫恢復到一致性狀態,因此BI文件是必須的。而AI文件的作用是減少必須重新運行的事務程序,盡可能多的恢復數據庫,所以在Oracle中AI文件是任選的。日志文件是十分占據空間的,為節省存儲空間和操作時間,DBA可以不配置AI文件。沒有AI文件,恢復機制進行故障恢復時只能執行UNDO處理,不能執行REDO處理。
Oracle為了能夠在出現故障時更有效地恢復數據,也為了解決讀“髒”數據問題,提供了REDO日志文件和回滾段(Rollback Segment).REDO日志文件中記錄了被更新數據的前像和後像,設在數據庫緩沖區中的回滾段記錄更新數據的前像。在利用日志文件進行故障恢復時,為減少掃描日志文件的遍數,Oracle首先掃描REDO日志文件,重做所有操作,包括未正常提交的事務的操作,然後再根據回滾段中的數據,撤銷未正常提交的事務的操作。