oracle检查点队列(checkpoint queue)

本文详细介绍了Oracle数据库中的检查点机制,包括完全检查点和增量检查点的工作原理,以及如何利用日志进行实例恢复的过程。同时解释了关键概念如buffer cache、LRBA和HRBA等的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

buffer cache

CBC链 按地址链

LRU  干净buffer

LRUW  脏buffer  按照冷热

checkpoint queue:链buffer,①链脏块②按buffer第一次脏的时间链起来

RBA :Redo Block Address

LRBA:块第一次脏的地址

HRBA:块最近一次脏的地址

检查点队列按照buffer的LRBA地址链起来

ckpt进程

1,完全检查点  触发DBWR把所有脏块写会数据文件  

           关闭数据库的时候会发生

2,增量检查点   将检查点队列的第一个块所对应的日志地址(LRBA)记录到控制文件

            每隔3秒钟

on disk rba  current日志里面的最后一条日志的地址

脏块所对应的事务已经提交 

脏块所对应的事务还没提交

脏块所对应的日志还在log buffer,说明脏块对应的事务还没有提交,认为对这个脏块的修改没发生过

终点:current日志的最后一条日志(on disk rba)

起点:在控制文件中记录的LRBA地址(CKPT会写进去)作为起点

实例恢复的时候,跑日志,前滚,已提交事务的脏块肯定会被构造出来,但未提交事务的脏块也会被构造出来,再通过undo,回滚。

控制文件中的scn:

   系统scn

   文件scn

   结束scn

数据文件中的scn:

   数据文件头部scn

 

转载于:https://www.cnblogs.com/guilingyang/p/5917665.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值