Hey!! Sky!

Apr 04, 2006

关于 Checkpoint 和学习的体会

    关于 Checkpoint 的话题,一直都是谈论的焦点,对于 Complete Checkpoint 和 Incremental Checkpoint 也一直让初学者搞得稀里糊涂。

    今天重看 Checkpointing Instructors 这个 PPT 文档忽然有种豁然开朗的感觉,以前也尝试去研读过,可看到一半就放弃了,实在搞不懂其中的内在关系,不过通过一段时间对相关基础知识的学习,终于可以融汇贯通了。看来知识是需要慢慢积累的,不能一步登天。

    这里先偷个懒,具体对 checkpoint 的理解就不写了,只写几句重点:
1. checkpoint、dbwr、lgwr 这三个进程其实并没有实际的谁触发谁的关系,各自完成自己的任务,而 checkpoint 就是把 dbwr、lgwr 两者做的事情同步。

2. fast_start_mttr_target 参数不会指定 checkpoint 何时进行,感觉应该会触发 dbwr 才对,而 Incremental Checkpoint 只是在 control file 中记录 dbwr 已经完成的之后一个 RBA 的位置,不会写 datafile head。

3. logfile switch 只触发 Incremental Checkpoint ,但他会写 control file 和 datafile head;只有 alter system checkpoint 触发 Complete Checkpoint 。

参考资料:
Checkpointing Instructors
wanghai 的 checkpoint小议 http://www.cnoug.org/viewthread.php?tid=21969&highlight=&page=1 不过,他说日志切换时发生 Complete Checkpoint 似乎和实际不符,也可能是版本不同吧。
TOM 对 checkpoint 的解释:http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:19311485023372


Send A Comment