前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[AWR报告]log buffer spaces等待事件

[AWR报告]log buffer spaces等待事件

作者头像
bsbforever
发布2020-08-19 14:31:42
1K0
发布2020-08-19 14:31:42
举报
文章被收录于专栏:时悦的学习笔记

从今天开始讲解awr报告Top 5 Timed Events部分

今天讲log buffer space等待事件


log buffer space

log buffer space 这个等待事件一般来说很少发生,一旦等待比较严重 往往说明系统的设置问题


如何发生的

我们知道Oracle的一些DML操作(insert,update,insert)会产生redo条目,并存储在log buffer中,当发生以下情况时LGWR进程会把log buffer中的信息写入redo log,之后清空log buffer,当redo 条目的产生速度快于LGWR清理的速度就会发生redo log space requests等待事件

1. 每三秒钟 2. 每一次commit/rollback 3. 当其 1/3满的时候,这个由_LOG_IO_SIZE参数控制 4. 当其达到1M的时候


log_buffer

log buffer的大小由参数log_buffer参数决定

默认值为512k或者128k*CPU数量,一般来说这个默认值是够用的

如果系统DML操作很多且这个等待事件比较严重时可以考虑增加log buffer参数的大小

修改该参数需要重启数据库


log buffer 过大的问题

log buffer过大也会有问题

上面说到当log bufffer 1/3满时LGWR进程会清空log buffer

如log buffer为10m,则意味着在没有commit/rollbak的情况下,需要等到3m才会切换,这样会导致LGWR写入redo log缓慢,从而导致log file sync等待

所以我们在调优log buffer space时不应该增加其他等待事件,需要取得一个平衡


如何调优

  1. IO性能不好会导致LGWR进程清空log buffer 过慢从而导致log buffer space等待,这时需要将redo log 放在高速的磁盘(SSD)或裸设备上
  2. 减少应用的commit活动,或者使用nologging选项,仅更新表中需要更新的栏位
  3. 物化视图更新使用fast代替complete模式
  4. 查看 log file switch 是否频繁

下期预告

SQL*Net message from dblink

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 宅必备 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档