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秒,然后继续尝试查找空闲缓冲区。
今天遇到这个问题了,查看磁盘IO,BUSY% 是100%, IO READ 为300m/s ,这么多读,一问,结果为英方软件一直在实时备份,9点之前该备份软件停了,结果起来,就导致把IO占完,停掉该软件后,应用正常。
|