“log file sync”是等待事件中非常常见的一种,他排在AWR的top5中有时是正常情况,有时则需要格外注意。昨天也听了一次Oracle的网络研讨会,介绍的是AWR相关的分析,从中学习到最重要的一点,就是对于AWR报告中若干信息的判断不能独立地看,需要综合起来,一个参数值大,不一定代表有问题,也可能是正常的,需要具体问题具体分析,其实和日常生活是一样的,头疼,不一定是感冒,也可能是缺少睡眠。
WAITEVENT: "log file sync" Reference Note (文档 ID 34592.1)
当一个用户session(前台进程)执行COMMIT(或回滚)时,session的redo信息需要刷新到redo日志中。用户session需要出发LGWR将所有日志缓冲中需要的redo刷新到redo日志文件中。当LGWR完成后,再回复给用户session。用户sesson会等待这种等待事件,等待LGWR回复确认所有的redo改变已经安全地存储到磁盘了。
用户session/前台进程需要花费时间等待redo刷新到磁盘以使COMMIT持久。因此我们需要考虑这种前台进程(或常见的客户端COMMIT)COMMIT带来的潜在的等待。
后面会介绍更多关于这种等待事件如何降低的细节。
“log file sync”也指ROLLBACK/UNDO,因为一旦ROLLBACK/UNDO完成了,ROLLBACK/UNDO操作的结尾会将所以改变刷新到redo日志。
(未完待续)