Redo Log buffers are written to disk when the following 4 things happen:
1. a commit occurs.
2. redo log buffer becomes 1/3rd full.
3. DBWR completes cleaning the buffer blocks as during a checkpoint.
4. A LGWR time-out occurs (every 3 seconds)
My question is if the timeout occurs every 3 seconds wouldn't that be the primary trigger for the LGWR to write to the disks.
Am I completely missing the idea here?
On active systems a lot can happen in three seconds.
My redo buffer is 172Kbytes. So a third of that amount (say around 63K) in transactions will trigger a write. This volume of transaction can obviously occur very much quicker than 3 seconds.
The idea is to get the redo buffer onto disk as quickly as possible because data buffer writes may be delayed. The redo logs are then the "instantaneous" receptors for data changes. This is necesary fro crash recovery to recover all transactions prior to failure
Click Here to Expand Forum to Full Width