ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Redo Byte Address (RBA)

Redo Byte Address (RBA)

原创 Linux操作系统 作者:lcmlsj 时间:2019-06-05 18:39:05 0 删除 编辑

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

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

Rba主要用于:

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

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

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

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

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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9599/viewspace-472951/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: Log Buffer Usage
下一篇: Redo Write Triggers
请登录后发表评论 登录
全部评论

注册时间:2002-04-09

  • 博文量
    100
  • 访问量
    114100