备忘录,也是自己读书和实验的一些心得.
本空间内容除特别注明外,均为原创
有关检查点
上一篇 /
下一篇 2008-03-18 20:38:22
/ 个人分类:基础知识
最近又
学习了一些检查点。真的是越来越不明白。
晶晶小妹的文章不错,了解的更多了一些东西。不过读过tom的expert one on one里面有讲到
data buffer中的块是通过最近最少使用算法来写到
数据库中的。不过按照晶晶小妹的说法,检查点对列中的数据好像是FIFO算法来写的,我真的有点困惑。再看看文档在说吧。
DBWN 将缓冲区中的内容写入磁盘。当缓冲区中的块被修改的时候,他变成脏块。但是DBWn并不是立刻将变脏的块写入磁盘,因为磁盘I/O是昂贵的操作,连续的写比离散的写效率更高。可以定义9个DBWn来提高磁盘I/O效率。冷块是根据最近最少使用算法来得到的块。DBWn将冷块,脏块写入磁盘以便保持data block buffer中有足够的空闲块来保证新块可以读到缓冲区中。通过最近最少使用算法来写块。可以保证经常使用的块一直呆在数据库缓冲区中。下次读它的时候不用再从磁盘上读。
dbwn在两种情况下写块,一是没有空闲的块了。二是检查点之后,也就是写到日志文件中的位置,这个是由DATA BLOCK BUFFER中最老的块来决定的。检查点触发他写块。文档写的不太全。student guid上写的触发DBWn的条件有一大堆,象drop掉表了,超时了,表空间开始
备份了,offline了,databuffer达到阀值了。
rac ping.
CKPT进程不写数据库,他更新数据文件头和控制文件。检查点的位置也是实例
恢复开始的位置。
根据晶晶小妹所说好像是增量检查点做两个工作,第一个工作通知DBWn开始写数据文件,并给他一个目标rba,这个目标是一个日志文件的位置。也是DATA BUFFER 中检查点队列中一个块的存储的值,日志文件的地址。从后往前写,写到这个位置就算完了。另外还有一个功能就是写控制文件,每3秒钟看一下dbwn写到哪儿了,把这个东东写到控制文件中,即为当前的检查点位置。
还有两种类型的检查点。完全检查点,增量检查点。切换日志也会有检查点。这个检查点和增量检查点有什么不一样呢?答:切换日志检查点也是增量检查点,但是这个检查点做的工作比一般的增量检查点要多,除了通知dbwn来写日志外,同时还更新所有的数据文件头。
good.晶晶小妹写的文章真的不错。检查点这个概念文档上有点含糊。看了她的文章清晰了很多。
附地址
http://space.itpub.net/13095417/viewspace-199237
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG: