当一个事务被提交,它会等待redo记录记录到硬盘之后,再返回控制权。这个等待redo记录到硬盘的过程,就是 log file sync (LFS)。
有三种特殊情况:
- 当commit是在PL/SQL块中执行的。这种情况,等待会被推迟到PL/SQL块返回后。 如果一个块中,包含了多个commit,也只会有一个等待发生。
- 当commit是COMMIT WORD NOWAIT的。这种情况下,没有LFS等待。
- 当session的COMMIT_WAIT参数被设置了NOWAIT。
这个等待的客户端进程不会自己去做I/O操作。I/O操作由LGWR完成。当LGWR进程在进行I/O操作时,等待‘log file parallel write’ (LFPW)。