【等待事件】日志类 等待事件(4.4)--log buffer space(日志缓冲空间)
2021/4/18 18:55:46
本文主要是介绍【等待事件】日志类 等待事件(4.4)--log buffer space(日志缓冲空间),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
【等待事件】日志类 等待事件(4.4)--log buffer space(日志缓冲空间)
SELECT * FROM V$EVENT_NAME A WHERE A.NAME LIke 'log buffer space';
当数据库产生日志的速度比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等待.但这样的隐藏参数 应该小心使用.
这篇关于【等待事件】日志类 等待事件(4.4)--log buffer space(日志缓冲空间)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享