重庆思庄Oracle、Redhat认证学习论坛

标题: free buffer waits等待事件 [打印本页]

作者: 郑全    时间: 2014-4-16 17:53
标题: free buffer waits等待事件

free buffer waits:当一个session试图将一个block读入buffer cache,或者由于读一致需要构造cr的block找不到free buffer而产生的等待。

 SQL> select name,parameter1,parameter2,parameter3,wait_class from v$event_name where name ='free buffer waits';

NAME                 PARAMETER1      PARAMETER2 PARAMETER3 WAIT_CLASS
-------------------- --------------- ---------- ---------- -------------------------------------------------------
free buffer waits    file#           block#     set-id#    Configuration

 

通常产生这个等待事件有以下原因:

1.buffer cache设置太小。

2.I/0写太慢,不能及时将Dirty block写到磁盘。

3.烂SQL导致大量的物理读。

4.Dbwr进程太少

5.DML并发太高,写不赢

p1:文件号  p2:块号 p3:10g以前没有使用,10g以后表示LRU/LURW list的SET_ID#

Oracle最多会等待1秒,然后继续尝试查找空闲缓冲区。


作者: 郑全    时间: 2014-4-16 17:57
buffer busy waits: 发生在并行读高的地方,也就是所谓的hot block,表明有一些SQL太频繁访问同一个block,这个wait event 有时候会和 Latch free: cache buffer chain同时出现。
free buffer wait: 发生在dirty block过多时,比如说,大量DML时,通常表明DBWR写得不够快或者DML实在太多。





欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2