buffer busy waits

可能的原因:
1.Buffer busy waits通常出现在I/O繁重的oracle系统
2.主要两个原因:
  1).另一个会话正在读块到buffer cache
  2).另一个会话正在持有buffer在一个不兼容的模式
3.这个等待表明读读,读写,写写竞争
4.oracle 会话正在等待PIN 一个buffer,一个buffer必须pin在它读或者修改之前,但是同时只能一个进程能PIN一个buffer在任何时候
5.当是一个大块的时候这个等待会加强,因为一个块里面包含更多的行
6.这个等待事件发生,当一个会话想去访问一个块在buffer cache 里面,但是不能访问,因为buffer is busy
7.也可能发生在多个进程重复的读相同的块,例如:很多人扫描相同的索引或者数据块


解决方法:
减少buffer busy waits主要的方法是减少系统的总I/O
根据块的类型,解决方法也不同

Data Blocks
1.消除应用程序中的热块
2.检查重复扫描,选择性不高的索引
3.尽力去建立对象的时候设置高的PCTFREE,那么减少每一个块中的行数
4.检查'right-hand-indexes',很多进程插入到相同的索引段,如果是sequence,使用noorder,或者是建立global partition index
5.增加INITRANS和INITRANS,减少PCTUSED降低表的密度
6.减少每一个块的行数


Segment Header 
增加FREELISTs和FREELIST GROUPs
使用assm表空间


Undo Header

增加Rollback段


--本文乃原创文章,请勿转载。如须转载请详细标明转载出处

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值