阅读 203

【等待事件】日志类 等待事件(4.4)--log buffer space(日志缓冲空间)

【等待事件】日志类 等待事件(4.4)--log buffer space(日志缓冲空间)

SELECT * FROM V$EVENT_NAME A WHERE A.NAME LIke 'log buffer space';

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk= 

当数据库产生日志的速度比LGWR的写出速度快,或者当日志切换太慢时,就会发生这种等待。这个等待出现时,通常表明Redo log buffer过小,为解决这个问题,可以考虑增大日志文件的大小或者增加日志缓冲器的大小。

另一个可能的原因是磁盘I/O存在瓶颈,可以考虑使用写入速度更快的磁盘。在允许的条件下设置,可以考虑使用裸设备来存放日志文件,提高写入效率。在一般的系统中,最低的标准是,不要把日志文件和数据文件存放在一起,因为通常日志文件只写不读,分离存放可以获得性能提升,尽量使用RAID10而不是RAID5磁盘来存储日志文件。当log buffer 中没有可用空间来存放新产生的redo log数据时,就会发生log buffer space等待事件。 如果数据库中新产生的redo log的数量大于LGWR 写入到磁盘中的redo log 数量,必须等待LGWR 完成写入磁盘的操作,LGWR必须确保redo log写到磁盘成功之后,才能在redo buffer当中重用这部分信息。

如果数据库中出现大量的log buffer space等待事件,可以考虑如下方法:

(1)  增加redo buffer的大小。

(2)  提升磁盘的I/O性能

 

服务器进程生成重做记录的速度快过LGWR写出重做记录的速度,因而发生等待.日志I/O缓慢是log buffer space等待的主要原因之一.还有一点,如果日志缓存区过小,也容易出现此等待事件.将日志缓存设置的大一些,对于缓解此事件的等待会有帮助.但是,过大的日志缓存,又会降低LGWR刷新缓存的频率,这可能会使提交时必须刷新的缓存数量增多.从而造成log file sync等待.日志缓存具体应该设置为多大,这就多进行测试咯.不同的环境下,不可能有一个标准.为了缓解log buffer space等待事件,将日志缓存调节的比较大之后,可以通过_log_io_size参数来提高LGWR刷新缓存的频率.这样做既可以减少log buffer space的等待,也可以减少log file sync等待.但这样的隐藏参数 应该小心使用.




文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐