Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: wither the checkpoint?
Hi Jonathan,
The checkpoint message sent to DBWn specifies a redo block address (RBA) up to which blocks should be checkpointed, rather than a change (SCN) as such. An RBA consists of a log file sequence number, a log block number in that file, and an offset into that block in bytes. For each block in the database buffer cache, the buffer header contains the 3 RBAs - the low RBA, the recovery RBA and the high RBA. The low RBA is the RBA of the first change to a current mode block since it came into memory. The recovery RBA is the RBA needed to recovery the block on disk. The high RBA is the RBA of the most recent change to the block in memory. In a local or global checkpoint, DBWn scans the buffer headers for dirty buffers with low RBA < checkpoint RBA && recovery RBA < checkpoint RBA. The checkpoint RBA can in fact be half way through the redo entry for the most recent change, in which case that change is checkpointed. Alternately, the checkpoint RBA can be equal to the RBA for the most recent change, in which case that change is not checkpointed at this time. In a log switch checkpoint, the checkpoint RBA is beyond the most recent change, and so all changes are checkpointed. However, it does not really matter when changes are checkpointed. It only matters that they are checkpointed before the redo log file is reused. So as you say, the question is esoteric. Nevertheless, I hope you find my answer helpful. As to a reliable reference, I think you have already referred to the best one!
Regards,
Steve Adams
-----------== Posted via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own Received on Fri Apr 02 1999 - 17:10:52 CST
![]() |
![]() |