摘要: 一、为什么要有检查点? 被修改过的块,在oracle中都被统称为脏块.所有的脏块被一个链表串起来,称做检查点队列.在buffer cache中,每一个块都有一个buffer header 简称BH,在BH中有一个ckptq项,此项目中记录了指向检查点队列上一个块和下一个块的指针.如果某一个块不在检查点队列中,他的ckptq项为空.通过ckptq项oracle将所有的脏块串成了一个双向链表.这个双向链表就是检查点队列了.1,只有脏块才会在检查点队列中,非脏块的ckptq为空.2,当块首次被更改时,块会立即被加进检查点队列.如果检查点队列中的脏块再次被修改,并不会改变其在检查点队列中的位置.... 阅读全文
posted @ 2013-07-25 15:51 孙愚 阅读(1189) 评论(0) 推荐(1) 编辑