Redo Byte Address (RBA)

RBA由三部分组成:日志顺序号(4 bytes),日志文件块号(4 bytes),块中的字节偏置(2 bytes)

Rba在他们的线程(redo thread)中,没有必要唯一,因为日志文件顺序号可能重置为一,当用resetlogs选项打开数据库后。

Rba主要用于:

对于buffer cache中的dirty blocklow RBA是自从数据块最后一次clean后,数据块第一次改变对应的重做的地址。high RBA 是数据块最近一次改变对应的重做的地址。

Dirty buffers按照low RBA顺序排列在checkpoint queues中。如果启用增量检查点,checkpoint RBAcheckpoint queues某个点,此点前的Dirty buffers已经写出。否则,它是最近的完全检查点的RBA。每三秒钟,由checkpoint heartbeatcheckpoint RBA拷贝到控制文件中的检查点进程记录中。当需要实例恢复时,从记录在控制文件中的checkpoint RBA开始。target RBA是某个点,DBWn要寻找到的以前移checkpoint RBA,用来满足实例恢复。

on-disk RBA是某个点,该点前的所有重做日志已写出。但DBWn可能还没有写出某个块,而该块的high RBA大于on-disk RBA。否则ransaction recovery (rollback)不可能。

dirty bufferslow and high RBAs能在X$BH中看到。(还有一个recovery RBA

用于记录部分块恢复进程(PMON进行的)。可以在X$TARGETRBA中看到incremental checkpoint RBA, the target RBA and the on-disk RBAincremental checkpoint RBA and the on-disk RBA还可以在X$KCCCP中看到。ull thread checkpoint RBA可以在X$KCCRT中看到。


请使用浏览器的分享功能分享到微信等