buffer busy wait 与 free buffer wait 的区别在于:前者指的是多个session对于同一个block的读取竞争;后者指的是,在buffer cache中,LRU列表中已经没有了空闲buffer space来接纳新的block信息。一般而言,发生buffer busy wait是由于:
1. The block is being read into the buffer by another session, so the waiting session must wait for the block read to complete. 等待另外一个session读取动作的完成
2. Another session has the buffer block locked in a mode that is incompatible with the waiting session's request.
另外一个session已经对buffer block上锁 buffer busy wait 有3个parameter:p1 代表文件号,p2代表block号,P3代表reason code 根据p1 和p2 ,我们执行以下查询:
select owner, segment_name, segment_type
from dba_extents
where file_id = &P1 and &P2 between block_id and block_id + blocks -1;
再根据v$segment_statistics来确定相关segment 的统计信息 P3 代表reason code,该值的具体意义表示如下:
[@more@]
1. The block is being read into the buffer by another session, so the waiting session must wait for the block read to complete. 等待另外一个session读取动作的完成
2. Another session has the buffer block locked in a mode that is incompatible with the waiting session's request.
另外一个session已经对buffer block上锁 buffer busy wait 有3个parameter:p1 代表文件号,p2代表block号,P3代表reason code 根据p1 和p2 ,我们执行以下查询:
select owner, segment_name, segment_type
from dba_extents
where file_id = &P1 and &P2 between block_id and block_id + blocks -1;
再根据v$segment_statistics来确定相关segment 的统计信息 P3 代表reason code,该值的具体意义表示如下:
|
解决办法:
1、 发现hot block,改变pctused 和pctfree,使得一个block 中可以容纳更多得数据
2、 增加freelist group 和 freelist
3、 增加一定数量的回滚段
1、 发现hot block,改变pctused 和pctfree,使得一个block 中可以容纳更多得数据
2、 增加freelist group 和 freelist
3、 增加一定数量的回滚段
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7916042/viewspace-915055/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7916042/viewspace-915055/