free buffer waits 等待事件
free buffer waits:當(dāng)一個(gè)session試圖將一個(gè)block讀入buffer cache,或者由于讀一致需要構(gòu)造cr的block找不到free buffer而產(chǎn)生的等待。
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
通常產(chǎn)生這個(gè)等待事件有以下原因:
1.buffer cache設(shè)置太小。
2.I/0寫太慢,不能及時(shí)將Dirty block寫到磁盤。
3.爛SQL導(dǎo)致大量的物理讀。
4.Dbwr進(jìn)程太少
5.DML并發(fā)太高,寫不贏
p1:文件號(hào) p2:塊號(hào) p3:10g以前沒有使用,10g以后表示LRU/LURW list的SET_ID#
Oracle最多會(huì)等待1秒,然后繼續(xù)嘗試查找空閑緩沖區(qū)。
今天遇到這個(gè)問題了,查看磁盤IO,BUSY% 是100%, IO READ 為300m/s ,這么多讀,一問,結(jié)果為英方軟件一直在實(shí)時(shí)備份,9點(diǎn)之前該備份軟件停了,結(jié)果起來,就導(dǎo)致把IO占完,停掉該軟件后,應(yīng)用正常。
