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.
-------------------------------
To summarize, if your application can handle lost committed transactions at the session or instance level, and your top wait event is log file sync, then the commit write facility rocks! Otherwise, don't mess with it and sleep well at night.
One of Oracle's database integrity rules is to never allow a block change (not buffer, but block) to occur unless that change is first recorded in an online redo log group. So if, for any reason, a database writer wants to write to a database block, the database writer will first trigger the log writer background process to flush the log buffer, just to ensure the change is in the redo stream. While the log writer background process is busy flushing the log buffer, the database writer background process will be posting a log file sync wait event.
Once the log writer has completed the write, the database writer is free to complete its write. To reduce the likelihood of the database writer background process needing to wait, the general strategy is to ensure that the log writer background process is writing frequently.
©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.
|