oracle检查点队列(checkpoint queue)
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
oracle检查点队列(checkpoint queue)的更多相关文章
- oracle检查点队列与增量检查点【转载】
oracle检查点队列与增量检查点 今天是2013-09-04,这几天一直心里安顿不下来,今天还好了,可以自己安静的学习一下oracle,在此记录一下学习笔记.这篇文章我不知道在那转载的,一直都留在我 ...
- oracle实例恢复之检查点队列
chain即链. oracle中链有很多种,LRU.LRUW.checkpoint queue等,都是干什么的呢??? LRU将可用块(干净的块)串起来.LRUW将脏块串起来,指导DBWR进程率先将冷 ...
- oracle之检查点(Checkpoint)
检查点是一个数据库事件,它把修改数据从高速缓存写入磁盘,并更新控制文件和数据文件.检查点分为三类:1)局部检查点:单个实例执行数据库所有数据文件的一个检查点操作,属于此实例的全部脏缓存区写入数据文件. ...
- OCP知识点讲解 之 检查点队列与增量检查点
原创 http://blog.chinaunix.net/uid-26762723-id-3271558.html 检查点的主要目的是以对数据库的日常操作影响最小的方式刷新脏块.脏块不断的产生,如何将 ...
- Nodejs事件引擎libuv源码剖析之:高效队列(queue)的实现
声明:本文为原创博文,转载请注明出处. 在libuv中,有一个只使用简单的宏封装成的高效队列(queue),现在我们就来看一下它是怎么实现的. 首先,看一下queue中最基本的几个宏: typede ...
- 计数器(counter),有序字典(OrderDict),默认字典(defaultdict),可命名元祖(namedtuple),双向队列(deque),单项队列(deuqe.Queue)
Python_Day_05 计数器(counter),有序字典(OrderDict),默认字典(defaultdict),可命名元祖(namedtuple),双向队列(deque),单项队列(deuq ...
- Berkeley DB的数据存储结构——哈希表(Hash Table)、B树(BTree)、队列(Queue)、记录号(Recno)
Berkeley DB的数据存储结构 BDB支持四种数据存储结构及相应算法,官方称为访问方法(Access Method),分别是哈希表(Hash Table).B树(BTree).队列(Queue) ...
- 检查点(Checkpoint)过程如何处理未提交的事务
每次我讲解SQL Server之前,我都会先简单谈下当我们执行查询时,在SQL Server内部发生了什么.执行一个SELECT语句非常简单,但是执行DML语句更加复杂,因为SQL Server要修改 ...
- jQuery源代码学习之七—队列模块queue
一.jQuery种的队列模块 jQuery的队列模块主要是为动画模块EFFECTS提供支持,(不过到现在为了支持动画队列的inprogress的出入队还是搞不太清楚),单独抽取出一个命名空间是为了使程 ...
随机推荐
- Hibernate中的GetCurrentSession()方法
从3.0.1版本开 始,Hibernate增加了SessionFactory.getCurrentSession()方法. 采用getCurrentSession()创建的session在commit ...
- discuzX3后台管理插件开发入门
discuz官方有完整的插件开发文档,详见: http://open.discuz.net/?ac=document&page=dev_plugin 关于discuz前台插件入门可以见这篇文: ...
- 批量 kill mysql 中运行时间长的sql
1.通过information_schema.processlist表中的连接信息生成需要处理掉的MySQL连接的语句临时文件,然后执行临时文件中生成的指令 mysql> select conc ...
- 【Networking】k8s容器网络 && golang相关
Bookmarks flannel/proxy.c at master · coreos/flannel kubernetes/kubernetes: Production-Grade Contain ...
- ffmpeg-20160718-git-bin.7z
官方 2016-07-18 发布的bin,彻底不支持 xp. ESC 退出 0 进度条开关 1 屏幕原始大小 2 屏幕1/2大小 3 屏幕1/3大小 4 屏幕1/4大小 S 下一帧 [ -2秒 ] + ...
- intel 面试总结
昨天面了intel的Android部门,基无意外,面试的效果不是很好,很多问题没有回答上来,看来如果要进intel这种大公司光靠SJTU光环是远远不够的,必须要有真才实学.面试的还是一位交大学长,本科 ...
- winrt组件库(包括翻书组件)
http://www.mindscapehq.com/products/metroelements/controls/book-control-for-winrt 点击“down free trial ...
- mysql常用函数整理
一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 ) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 SELECT CEIL( ...
- java操作数据库出错
"无效的列索引"其实是个低级的错误 出错原因:1.sql串的?号数目和提供的变量数目不一致:例如:jdbcTemplate.update(sql, new Object[] {ne ...
- VS2010编译Qt4.8.2的64版本库
安装qt-win-opensource-4.8.2-vs2010.exe(从http://download.qt.io/archive/qt/4.8/4.8.2/下 载),这个是32位的,里面有编译好 ...