When a user session requires free buffers, the server process scans the LRU list to a get a free buffer space. After scanning the LRU list up to a threshold, if the server process could not get free space, it requests the DBWr to write the dirty buffer from the LRU list to disk. While the DBWr process writes the dirty buffers the session waits on 'Free Buffer Waits'.
Tuning Options
Poor SQL Statements
Query the V$SQL view for statements that have high DISK_READS. Tune the statements to reduce the physical reads. The poorly written SQL Statements are the main cause of this wait event.
DBWr Processes
Increase the DBWr processes (or)
Decrease the Buffer Cache (or)
Decrease the FAST_START_MTTR_TARGET parameter.
Delayed Block Cleanout
The delayed block cleanout will cause the free buffer wait events. To avoid delayed block cleanout perform a full table scan on a table that has been loaded with a lot of rows before it is released to the application.
Small Buffer Cache
Increase the size of Buffer Cache if you feel that the buffer cache is under sized and check for the wait event.
Slow IO
Thanks
Vinod D
Tuesday, September 29, 2009
Subscribe to:
Post Comments (Atom)
1 comment:
Hi here decreasing the FAST_START_MTTR_TARGET will usually instruct the DBWR to write the buffer at a much faster pace than usual. I guess increasing the FAST_START_MTTR_TARGET can help
Post a Comment