Optimal value for LOG_BUFFER parameter
-
16-10-2019 - |
Question
The wait event “log buffer space” according to the documentation can indicate that the log buffer is too small or the I/O is slow. We have a system seeing this event in which the redo buffer allocation retries is going up in V$SYSSTAT as observed with...
SELECT VALUE FROM V$SYSSTAT WHERE NAME = 'redo buffer allocation retries';
We recently increased the LOG_BUFFER value from 8 MB to 16 MB with only a small reduction in the retries. It is still increasing at about 1,000 a day.
Should the LOG_BUFFER value be increased further?
Since the system is 64 bit I can take it up to 256 MB, but I don’t want to use the memory for this buffer if it won’t be beneficial and I don’t know if there are any downsides to increasing this value that significantly.
Solution
Take it all the way up. FWIW I have systems where 500m and even 1g ORLs are normal. Don't be afraid of this on modern hardware - set archive_lag_target to give you a reasonable log switch (I go for 230 seconds to keep it off 5-minute boundaries).