With respect to a dirty block in the buffer
cache, the low RBA is the address of the redo for the first
change that was applied to the block since it was last clean, and the
high RBA is the address of the redo for the most recent change to
have been applied to the block.
Dirty buffers are maintained on the buffer
cache checkpoint queues in low RBA order. The checkpoint RBA
is the point up to which DBWn has written buffers from the checkpoint queues
if incremental checkpointing is enabled -- otherwise it is the RBA of last
full thread checkpoint. The checkpoint RBA is copied into the checkpoint
progress record of the controlfile by the checkpoint heartbeat once every 3
seconds. Instance recovery, when needed, begins from the checkpoint RBA
recorded in the controlfile. The target RBA is the point up to
which DBWn should seek to advance the checkpoint RBA to satisfy instance
recovery objectives.
The on-disk RBA is the point
up to which LGWR has flushed the redo thread to the online log files. DBWn
may not write a block for which the high RBA is beyond the on-disk RBA.
Otherwise transaction recovery (rollback) would not be possible, because the
redo needed to undo a change is always in the same redo record as the redo
for the change itself.
The term sync RBA is
sometimes used to refer to the point up to which LGWR is required to sync
the thread. However, this is not a full RBA -- only a redo block number is
used at this point.