Optimizing the performance of the redo log buffer
How do you optimize the performance of the redo log buffer?
One doesn't optimize the performance of the redo log buffer itself, but the size of the buffer does figure in overall redo performance. The buffer should be sized so that the log writer process (LGWR) is not posted excessively (one of the conditions that causes LGWR to flush redo buffer entries to disk is a log buffer reaching one-third full) and so that user processes do not have to wait for space in the buffer. Most systems do fine with a log buffer size of between 500 kilobytes and 1 megabyte. You can see if processes have to wait for redo buffer space via the query:
SELECT NAME, VALUE
WHERE NAME = 'redo buffer allocation retries';
This value should remain close to zero over an interval of typical activity on the system. If it increments, increase the initialization parameter LOG_BUFFER. You can also improve redo performance by making sure that the redo log files reside on fast disks with no I/O taking place on them other than the LGWR writes.
This was first published in February 2005