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.
-------------------------------
Notice what led the server process to post the free buffer wait event. First, it performed a physical IO read, which forced the server process to search for a free buffer. Second, it needed to scan too many dirty buffers, which means there must be active DML SQL. Third, the database writer had fallen behind in ensuring there were enough free buffers at the LRU end of the LRU chain. Each of the three conditions contributed to the situation, which means we have three solutions to the same problem!
If the top wait event is free buffer waits, focus on the pull, not the push. If you forget this, you will devise inappropriate solutions.
The operating system could be suffering from either or both (it quickly flips between the two) a CPU and an IO bottleneck, but probably an IO bottleneck. In my personal experience, a free buffer waits event has never been solved by focusing on the operating system. It has always been a combination of working at the problem from an Oracle and application perspective. If there is a CPU bottleneck, look for non-Oracle CPU-consuming processes.
©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.
|