暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片
(1条消息)理解redo(5)深入学习RBA_数据库_记录创业路上的一些想法-CSDN博客.pdf
71
4页
0次
2023-09-25
免费下载
(1条消息)理解redo(5)深入学习RBA_数据库_记录创业路上的
一些想法-CSDN博客
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的目标值定的长远点。
4 相关视图
4.1 查看The incremental checkpoint RBA and the on-disk RBA --X$KCCCP
1. SQL> select CPDRT,CPLRBA_SEQ||'.'||CPLRBA_BNO||'.'||CPLRBA_BOF "Low
2. RBA",CPODR_SEQ||'.'||CPODR_BNO||'.'||CPODR_BOF "On disk RBA",CPODS,CPODT,CPHBT from x$kcccp;
3. CPDRT Low RBA On disk RBA CPODS CPODT CPHBT
4. ---------- --------------- --------------- ---------------- -------------------- ----------
5. 35 686.124.0 686.220.0 2325376 03/02/2008 15:18:54 648319278
注释:
CPDRT列是检查点队列中的脏块数目.
CPODS列是on disk rba的scn
CPODT列是on disk rba的时间戳
CPHBT列是心跳
4.2 查看脏块的LRBA和HRBA--X$BH、X$KCVFH(10g之后在x$bh里面只能查看LRBA)
--LRBA
1. SQL> select lrba_seq,lrba_bno from x$bh where lrba_seq!=0;
2. LRBA_SEQ LRBA_BNO
3. ---------- ----------
4. 107 42042
5. 107 42260
6. 107 42120
--HRBA
1. SQL> select hxfil,fhrba_seq,fhrba_bno,fhrba_bof from x$kcvfh;
2. HXFIL FHRBA_SEQ FHRBA_BNO FHRBA_BOF
3. ---------- ---------- ---------- ----------
4. 1 76 6618 16
5. 2 76 6618 16
6. 3 76 6618 16
7. 4 76 6618 16
为什么要查询x$kcvfh,是因为x$kcvfh是v$datafile_header的源
4.3 查看target RBA
--X$TARGETRBA
1. SQL> select target_rba_seq,target_rba_bno,target_rba_bof from x$targetrba;
2. TARGET_RBA_SEQ TARGET_RBA_BNO TARGET_RBA_BOF
3. -------------- -------------- --------------
4. 0 0 0
4.4 完全检查点的checkpoint RBA--x$kccrt(内核缓存控制文件重做线程)
1. SQL> select rtckp_rba_seq,rtckp_rba_bno,rtckp_rba_bof from x$kccrt;
2. RTCKP_RBA_SEQ RTCKP_RBA_BNO RTCKP_RBA_BOF
of 4
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。