Oracle数据库中的恢复机制采用了转储和登记日志文件两个技术
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日志文件重做所有操作包括未正常提交的事务的操作然后再根据回滚段中的数据撤销未正常提交的事务的操作