oracle buffer busy waits等待的含义

buffer busy waits:读不堵塞写,写堵塞读。

一个会话读、另个会话写这个buffer,写的同时又有个会话读这个buffer产生等待buffer busy waits

oracle修改一个buffer的步骤。
在这里插入图片描述

减少2-7步骤的时间可以减少buffer busy waits。
期间主要工作就是 生成redo和修改buffer中的内容。修改buffer内容是调用系统函数memcpy完成,几乎没优化空间。主要是在生成redo上。

生成redo简单流程是:
在pga中记录后映象数据,传到共享池,然后传到log buffer中,如果log buffer没空间,进程会先等LGWR刷新log buffer中的空间,腾出空间后才能继续(此时等待为log buffer space)。

产生redo遭遇log buffer没空间的情况有时候还是存在的,产生redo花费时间大大增加。因此,保证log buffer有空间可以减少buffer pin锁的持有时间。

Log buffer没空间的原因是产生的redo太多或者LGWR写的太慢。redo过多为应用问题,无法改变。LGWR写的慢是IO慢,加快IO写的性能,可以提高log buffer中空闲空间比例,可以增加redo产生的速度,减少独占buffer pin锁的持有时间。

所以把redo放在更快的存储设备上,可以减少buffer busy waits时间。

buffer busy wait
1.抬高高水位线
2.buffer busy wait主要由写堵塞写或者写堵塞读,减少写操作的持有buffer pin(X独占)锁的时间,整体上buffer busy wait会下来。

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪灵骅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值