1 什么是'log file sync'等待事件?
数据库中的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。
2 根据实践经验,引起log file sync等待事件的原因有以下几种:
事务过度的提交,即应用程序过度commit或者rollback。
存储I/O资源紧张,导致lgwr进程写速度缓慢。
CPU资源紧张,lgwr进程获得不了响应的CPU时间片。
RAC节点之间SCN同步。
RAC节点之间CR块传递。
控制文件争用。
数据库中的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。
2 根据实践经验,引起log file sync等待事件的原因有以下几种:
事务过度的提交,即应用程序过度commit或者rollback。
存储I/O资源紧张,导致lgwr进程写速度缓慢。
CPU资源紧张,lgwr进程获得不了响应的CPU时间片。
RAC节点之间SCN同步。
RAC节点之间CR块传递。
控制文件争用。
3 log file sync等待事件的优化方案:
(1)优化了redo日志的I/O性能,尽量使用快速磁盘,不要把redo log file存放在raid 5的磁盘上;RAID 5--->RAID 1+0
(2)加大日志缓冲区(log buffer);
(3)使用批量提交,减少提交的次数;
(4)部分经常提交的事务设置为异步提交;ALTER SESSION SET COMMIT_WRITE = NOWAIT;
(5)适当使用NOLOGGING/UNRECOVERABLE等选项;
(6)采用专用网络,正确设置网络UDP buffer参数;
(7)安装最新的数据库版本避免bug;
(1)优化了redo日志的I/O性能,尽量使用快速磁盘,不要把redo log file存放在raid 5的磁盘上;RAID 5--->RAID 1+0
(2)加大日志缓冲区(log buffer);
(3)使用批量提交,减少提交的次数;
(4)部分经常提交的事务设置为异步提交;ALTER SESSION SET COMMIT_WRITE = NOWAIT;
(5)适当使用NOLOGGING/UNRECOVERABLE等选项;
(6)采用专用网络,正确设置网络UDP buffer参数;
(7)安装最新的数据库版本避免bug;
版权声明:本文为博主原创文章,未经博主允许不得转载。