buffer busy waits and read by other session的一些解决办法

    一个巧妙解除hot block引起的cache buffers chains latch争用的方法之一,就是推荐是将PCTFREE值去高,因为PCTFREE值取高,
将Hot Block分散,因此latch争用有时也会减少,但是这次测试因块数增加得过多,可以发现latch争用增加。这是因为为了执行update
而扫描的过程中,会发生latch争用。一般较高的pctfree有利于消除DML引起的争用。较低的PCTFREE有利于消除SELECT引起的争用。
因此DML和select都出现时,只变更PCTFREE值不能消除争用问题的可能性较高。这个原理在修改块大小时也同样适用。
    
    以上测试结果意味着为了减少update/update引起的buffer busy waits等待,调整较高的storage属性,有引起cache buffer chains latch
争用等另外性能问题的可能性,因此,为解决buffer busy waits问题。而变更storage属性时,需要经过充分测试,检查是否是有其他性能上的
负面效果后应用。
    
    buffer busy waits ,减少buffer lock争用的方法,解决办法总结:
    
    1、 减少select/select引发的read by other session等待的最好办法是通过SQL的最优化利用最少的I.O获得需要的结果,如果通过这个操作
    也不能解决问题,就需要检查SGA(高速缓冲区)大小适当与否。
    
    2、 select/update 引发的read by other session等待与select/select 引起的read by other session等待的解决办法相同。
    
    3、 insert/insert引发的buffer busy waits等待,通过使用适当的段空间管理方法得以解决,oracle 9i以上版本推荐使用ASSM,oracle8i
    则合理设定FREELISTS值,与事务量相比FREELISTS值过小时,buffer lock引起的争用广泛出现。光靠FREELISTS值不能解决问题,调高
    _bump_highwaer_mark_count隐含参数数值也是有帮助的。对于这个隐含参数在HW锁争用相关的等待事件上仔细讨论。
    
    4、update/update引发的buffer busy waits等待,可以通过采用避免对相同块同时执行update的方法得以解决,创建update形式考虑周全
    的最优partitioning将成为最好的解决办法,通过取高PCTFREE使用较小的块(9i开始可能),可以将块分散,因此能减少buffer lock争用。
    但是如上述测试结果,必须通过测试检验是否有负面影响。
    
    
    
    
    
    

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7194105/viewspace-704000/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7194105/viewspace-704000/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值