How does the Oracle LGWR write the log buffer to the online redo log? Does it write out the entire log buffer or just the committed records? If it writes out just the committed records, would it increase 'log file parallel write' time for using a large log buffer?
LGWR does write change records in the log buffer to the online redo log files. When a user issues a COMMIT, the COMMIT is not complete until the change records have been written to the online redo logs. However, large transactions may fill the log buffer before a COMMIT is issued. For this reason, LGWR will write to the online redo logs if the log buffer becomes one-third full or after there is 1MB of new redo in the log buffer, or every 3 seconds, or before DBWn writes to the database files. As you can see, LGWR does not write just committed transactions, it may write uncommitted ones as well.
Dig Deeper on Oracle database design and architecture
Oracle expert Brian Peasland answers one reader's question about common pitfalls when connecting Oracle to outside programs.
One reader asks expert Brian Peasland a question about datafile sizes with the Oracle RMAN duplicate 10g command.
Managing parent table-child table relations in Oracle SQL environments is key to efficient programming.