mysql RBA_理解redo(5)深入学习RBA

RBA就是redo entries在重做日志文件中所对应的地址。定义:块第一次变脏时所对应的redo entries在redo log file里的位置CKPT-Q按

1 定义

RBA就是redo entries在重做日志文件中所对应的地址

2 组成

RBA由三部分组成:

序列号(4个字节)

块号(4个字节)

起始字节(2个字节)

以上都是16进制存储

3 类型

3.1 LRBA

定义:块第一次变脏时所对应的redo entries在redo log file里的位置

注释:CKPT-Q按LRBA的顺序维护脏块,执行检查点事件时,DBWn从CKPT-Q按LRBA的顺序写出。LRBA也就是checkpoint position。从检查点位置(LRBA)处,,应用重做记录到On disk rba处,这个过程就是前滚。

057e63cfaa221bf25d9f17de2312c904.png

3.2 HRBA

定义:脏块在buffer cache中最近一次被更新时产生的redo entries在redo log file里的位置

注释:如果HRBA > on-disk RABA,那么HRBA所对应的相关redo entries还在redo log buffer中,如果实例crash,则HRBA是不可能被恢复的。

3.3 checkpoint RBA

定义:在CKPT-Q上第一个脏数据块的LRBA,这个RBA之前的脏数据已经被全部写入磁盘。

注释:当一个checkpoint事件发生的时候,CKPT进程会记录下当时所写的重做日志记录的地址(即RBA),此时记录的RBA被称之为checkpoint RBA,从上一个checkpoint RBA到当前checkpoint RBA之间的日志所保护的buffer cache中的脏块接下来将会被写进数据文件。

3.4 on-disk RBA

定义:LGWR 写日志文件的最末位置的地址,磁盘中重做日志文件的最后一条重做记录。

注释:on disk rba是Oracle前滚操作的终点。on disk 顾名思义 就是'在磁盘上'的意思.比这个更高的rba,都在log buffer中,还没有来的急被写进磁盘中的日志文件.所以是不能被用于恢复的。

3.5 target RBA

定义:检查点事件结束时的checkpoint RBA

注释:为了缩短实例恢复的时间,DBWn会尽力把checkpoint RBA的目标值定的长远点。

f4611ff862119c47a9388dcf61f66368.gif

logo.gif

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值