数据库中的log file sync等待事件指的是,当user session 提交(commit)时,user session会通知LGWR进程将redo buffer中的信息写入到redo log file,当LGWR进程完成写操作后,LGWR进程再post(通知)user session 写操作已经完成,user session 接收到LGWR的通知后提交操作才完成。因此user session 在没有收到LGWR post(通知)之前一致处于等待状态,具体的等待事件为log file sync。根据实践经验,引起log file sync等待事件的原因有以下几种:
事务过度的提交,即应用程序过度commit或者rollback。
存储I/O资源紧张,导致lgwr进程写速度缓慢。
CPU资源紧张,lgwr进程获得不了响应的CPU时间片。
RAC节点之间SCN同步。
RAC节点之间CR块传递。
控制文件争用。
(2)加大日志缓冲区(log buffer);
(3)使用批量提交,减少提交的次数;
(4)部分经常提交的事务设置为异步提交;ALTER SESSION SET COMMIT_WRITE = NOWAIT;
(5)适当使用NOLOGGING/UNRECOVERABLE等选项;
(6)采用专用网络,正确设置网络UDP buffer参数;
(7)安装最新的数据库版本避免bug;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15498/viewspace-1870829/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15498/viewspace-1870829/
本文探讨了数据库中logfilesync等待事件的原因及优化方法,包括改进redo日志I/O性能、增大日志缓冲区、批量提交等策略。
391

被折叠的 条评论
为什么被折叠?



