Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Redo log switch and checkpoint

CaglarNov 30 2019 — edited Dec 2 2019

Hi All,

Suppose that we have 4 different log files. When log file 1 gets full then LGWR switch to log file 2 and Oracle initiated a checkpoint. At this point all modified data blocks in the buffer cache will be written into disk. DBWR get all modified blocks and give it to the OS process in order to write these blocks into disk. The most important thing is log file 1 cannot be re-used by LGWR until all modified blocks are flushed protected by log file 1. So, every log file switch, this scenario happen. Please correct me, if I am wrong.

My question is, in rare cases Checkpoint not complete error might be appear in the alert log file. That means log file 1 is tried to use again before all modified blocks are flushed. However, isn't it very odd? I mean, in order to reuse log file 1, LGWR should finish the other three log files. Suppose we have 4 log files. After first switch, there should be two more switches. For each switch checkpoint happen. After complete the whole log files. When LGWR start to reuse log file 1, shouldn't all modified blocks have already been written by this time?

Version: Oracle 11g R2

Thanks in advance

Regards

This post has been answered by AndrewSayer on Nov 30 2019
Jump to Answer
Comments
Post Details
Added on Nov 30 2019
9 comments
650 views