Oracle Internals Notes

Redo Write Multiplexing

If an Oracle log file group has multiple members, LGWR must write the redo to each active member. If non-blocking writes are available (that is, if operating system asynchronous I/O is available and disk_asynch_io is enabled) then LGWR will perform these writes in parallel.

However, if non-blocking writes are not available, then LGWR must write to each active log file member in series. This effectively doubles the response time of redo writes. Even if LGWR I/O slaves have been configured as a side-effect of setting dbwr_io_slaves (or directly using _lgwr_io_slaves) LGWR will not write to multiple log file members in parallel. Consecutive redo writes may be performed in parallel by distinct I/O slaves, but each individual redo write will be performed by one I/O slave (or LGWR) alone writing to each log file member in series. Thus the word parallel in the name of the wait event for redo writes, log file parallel write, can be misleading.

If non-blocking writes are available, then the elapsed time for this wait event is also misleading. It does not record the elapsed time for the entire redo write, as might be expected. Instead, it measures the delta between the elapsed times of the first and last component parallel writes to finish.


Ixora Pty Ltd.   All rights reserved.
12-Oct-2007 22:22
Search   Questions   Feedback   Up   Home