Heim >Datenbank >MySQL-Tutorial >理解redo(5)深入学习RBA

理解redo(5)深入学习RBA

WBOY
WBOYOriginal
2016-06-07 17:18:53923Durchsuche

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处,这个过程就是前滚。

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的目标值定的长远点。

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn