You were brought to this page based on an internet search
and as a free service to Oracle DBAs.
The text below is an except from the book,
Oracle Performance Firefighting, written by
Craig Shallahamer of
OraPub, Inc.
Figures and tables are not included on this page, only their reference.
To order the book in either print or PDF form, click
here.
©2009, 2010 by Craig Shallahamer. This is copyrighted material.
PleaseOut of respect for those involved in the creation of the book and also for
their familes, we ask you to respect the copyright both in intent and deed. Thank you.
-------------------------------
The wait event free buffer waits is closely related to database writer activity and is usually seen with the wait events db file parallel write and log file parallel write (log writer writing). Yet the free buffer waits event is unique in that it takes an interesting combination of database writer, IO subsystem, and server process activity to manifest.
Key to understanding free buffer waits is the difference between a push-to-disk issue and a pull-from-LRU-chain issue. When we see the wait event db file parallel write rise to the top of our reports, the problem is too much time being spent writing, or pushing, dirty buffers to disk. (The buffers are not actually moved to disk, but copied, which results in the block and buffer matching creating a free buffer.) A server process posts a free buffer waits event when it can't find a free buffer quick enough. One reason for this is the database writer has not pulled enough dirty buffers from the LRU chain and made them free again. So it's not a push-to-disk issue, but instead a pull-from-LRU-chain issue. While the difference may seem exaggerated, it has a huge impact on our solution approach.
If we focus on the pull issue, then we will do whatever it takes to ensure the database writer does not get too far behind in pulling dirty buffers from the buffer cache. In other words, our goal is to get the database writers to do more work because the issue is not writing to disk. If the issue were writing to disk, the top wait event would be db file parallel write, not free buffer waits.
©2009, 2010 by Craig Shallahamer. This is copyrighted material.
PleaseOut of respect for those involved in the creation of the book and also for
their familes, we ask you to respect the copyright both in intent and deed. Thank you.
|