写日志文件当提交事务处理时( Commit ),当重做日志缓冲区的三分之一已满时,当重做日志缓冲区中记录了超过1 MB的更改时,在DBWR将数据库缓冲区高速缓存中修改的块写入数据文件以前,发生LGWR超时(3秒)。LGWR是将重做日志缓冲区的重做日志条目写入到联机重做日志文件的进程。它在下列情况下执行从重做日志缓冲区到重做日志文件的连续写入:当提交事务处理时( Commit ),当重做日志缓冲区的三分之一已满时,当重做日志缓冲区中记录了超过1 MB的更改时,在DBWR将数据库缓冲区高速缓存中修改的块写入数据文件以前,发生LGWR超时(3秒)。因为恢复操作需要重做(redo),所以LGWR只在重做写入磁盘后确认COMMIT命令。直到Oracle在LGWR完成将重做信息从重做缓冲区刷新到联机重做日志文件之后, Oracle才认为一个事务已完成。在LGWR成功地将重做日志项写入联机重做文件时(并不是改变数据文件中的数据时),将一个成功标识返回给服务器进程。LGWR进程处理的次要任务是,执行实施数据库检查点所需要的操作。除非检查点进程被激活,否则LGWR进程完成这一任务。检查点导致LGWR和DBWR都要花费进程和I/O时间。检查点间隔时间越短,发生数据库故障时需要的恢复时间越短,同时减少了必须执行每一检查点所需的工作。当我们决定适当的检查点间隔时,必须权衡所有这些因素。关于检查点的描述请参考下面关于CKPT进程的讲解。