我们在处理数据库问题的时候,总会遇到log file sync的等待事件。对于这个等待事件,看到一个相对比较清晰的描述。贴出来供参考。
按照时间轴展开LGWR进程对在线REDO日志的写入操作:
1)用户提交COMMIT命令;
2)前台触发LGWR进程,LGWR等待CPU队列;
3)LGWR提交I/O请求,进入SLEEP状态;
4)I/O过程;
5)I/O完成,LGWR被推入CPU队列;
6)LGWR在CPU上运行,返回信息给前台;
7)COMMIT命令完成,前台获得返回信息,进入CPU队列
所以,可以推断,导致高log file sync的等待有可能有以下的情况:
1.事务(commit或rollback)等待太久
2.CPU资源争用
3.REDO存储卷I/O能力缓慢
4.过大的日志缓存。
具体问题需要具体去分析。
按照时间轴展开LGWR进程对在线REDO日志的写入操作:
1)用户提交COMMIT命令;
2)前台触发LGWR进程,LGWR等待CPU队列;
3)LGWR提交I/O请求,进入SLEEP状态;
4)I/O过程;
5)I/O完成,LGWR被推入CPU队列;
6)LGWR在CPU上运行,返回信息给前台;
7)COMMIT命令完成,前台获得返回信息,进入CPU队列
所以,可以推断,导致高log file sync的等待有可能有以下的情况:
1.事务(commit或rollback)等待太久
2.CPU资源争用
3.REDO存储卷I/O能力缓慢
4.过大的日志缓存。
具体问题需要具体去分析。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23850820/viewspace-2093096/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23850820/viewspace-2093096/