buffer cache实验8-free buffer waits-完成

发布时间:2016-12-7 0:04:02 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"buffer cache实验8-free buffer waits-完成",主要涉及到buffer cache实验8-free buffer waits-完成方面的内容,对于buffer cache实验8-free buffer waits-完成感兴趣的同学可以参考一下。

服务器进程在扫描LRU主列时,将脏块移动到LRUW列。当扫描到一个阀值(10G/11G是40%- _db_block_max_scan_pct参数决定)时会停止扫描同时通知DBWR写脏块-写脏块完后的块重新挂载到辅助LRU列,就得到了空闲buffer。 DBWR进程写脏块完成前,服务器进程等待空闲buffer时出现free buffer waits等待事件 关于物理读时找空闲BUFFER,LRUW与写脏块详细过程,详见: _db_block_max_scan_pct 参数的默认值--11.2.0.4 P_NAME                                   P_DESCRIPTION                                      P_VALUE                        ISDEFAULT ISMODIFIED ISADJ ---------------------------------------- -------------------------------------------------- ------------------------------ --------- ---------- ----- _db_block_max_scan_pct                   Percentage of buffers to inspect when looking for ree  40                             TRUE      FALSE  FALSE 引起争用的场景及解决思路: 低效SQL-需要更多无关的数据块,需要更多buffer,容易出现free buffer waits等待事件 buffer cache小不够用--就是内存小buffer cache给的空间小,是实实在在的不够用,考虑增大buffer cache。 DBWR写的性能差--可能是数据库的主机CPU资源紧张,DBWR进程工作慢,或者I/O慢,影响写入速度,或者是CPU和I/O都没问题,可以考虑增大DBWR进程数量。 因为DBWR进程写脏块到数据文件时,会以独占模式占用脏缓冲区,此时有其它进程要读取或修改脏缓冲区,需要等待DBWR写数据完成,此时会出现write complete waits等待。 判断DBWR/存储性能导致此类问题的步骤: 磁盘繁忙程度 磁盘响应时间--大I/0不超过20MS,小I/O不超过5MS IOPS是否正常--每盘150左右 存储CACHE是否正常--这个偶尔会出现 和存储相关的硬件是否正常运行 -------如磁盘正常,要考虑增加DBWR进程数量--一般不能超过CPU数量。 free buffer waits等待常由应用--低效SQL引起 write complete waits等待常由存储性能引起。   --此段来自周亮《ORACLE DBA实战攻略》

上一篇:
下一篇:关于Java浮点数运算精度丢失问题

相关文章

相关评论