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 nowait option can also be used with either the immediate or batch options. Normally, the log writer background process writes synchronously, which means the operating system will not return control to the log writer until the write has been physically completed. Of course, the underlying IO subsystem could also be caching the write and telling the operating system the write has been physically completed when it has not. Asynchronous writes are typically many times faster than synchronous writes, resulting in a substantial performance improvement.
We would expect the combined batch and nowait options to perform the best, as the redo entries can be remain buffered longer in the log buffer, resulting in more efficient writes, and the log writer background process can perform asynchronous writes, resulting in a near immediate commit command response time. Just to give you a taste of how well the commit write facility can work, I performed a simple experiment. Table 8-1 shows the results.
The work was measured by the number of average commits performed each second. To ensure the experiment was statistically significant, multiple 600-second samples were taken, and the standard deviation calculated. The workload placed on the four-CPU core Linux Oracle Database 10g Release 2 system was a mix of two sessions performing rapid, small updates and two sessions performing small inserts. The rapidness was produced by placing the update or the insert within a very tight PL/SQL loop. After each update, a commit was issued; after 50,000 inserts, a commit was issued.
©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.
|