码迷,mamicode.com
首页 > 系统相关 > 详细

[网络课摘抄]2.CKPT进程工作机制

时间:2014-12-25 14:30:16      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:

CKPT进程工作示意图

技术分享

2.CKPT进程工作机制

 

检查点进程被触发的条件为:

 

a> 当发生日志组切换时;

 

b>  用户提交了事务时(commit);

 

c>  Redo log buffer容量达到总容量的1/3或1M时。

 

d> 手动alter system checkpoint 的时候。

 

e>  系统正常关闭时。

 

f>  其他(如alter tablespace .. begin backup/end backup)

 

当一个检查点进程发生时(图中的2),首先系统会记录检查点对应的checkpoint SCN,并记录下该时刻修改的DB BUFFER对应的日志文件的最新的重做字节地址(Redo Byte Address :RBA),然后唤醒DBWn进程,DBWn进程被唤醒后将会检查检查点队列(其实就是在data buffer cache缓冲区中的脏数据列表),把重做字节地址(RBA)之前的脏数据写入磁盘文件(图中4),在写入之前,会检查RBA之前的redo信息是否已经写入联机日志文件里,如果没有则DBWn进程又会唤醒LGWR进程把RBA之前的redo信息写入联机日志文件中(图中的5),然后DWBn再开始写入磁盘文件并更新数据块SCN,也是说DBWn进程把脏数据写入磁盘之前,必须保证这些脏数据对应的日志信息已经被写入磁盘,如果发现脏数据的日志信息没有写入磁盘,DBWn进程则唤醒LGWR进程写日志信息,完成后继续将脏数据写入磁盘。当DBWn进程把RBA之前的脏数据全部写入磁盘文件中,检查点进程将会更新数据文件头的SCN(图中3),并更新控制文件中的SCN和RBA信息(图中的1)。

 

[网络课摘抄]2.CKPT进程工作机制

标签:

原文地址:http://www.cnblogs.com/myrunning/p/4184514.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!