QUOTE:
原帖由
Yong Huang 于 2009-7-6 22:34 发表

> 首先 我不认为log switch checkpoint equals increament checkpoint
> 因为LOG SWITCH 时不会触发INCREAMENT CHECKPOINT 并且 2种检查点并非完全一致 LOG SWITCH
> 只会将RBA 推进到新文件的第2个BLOCK的第10字节
> 而增量RBA 则是会推进至不同的块位
Interesting. Do you have any reference for that? Or your own test?
首先当TRACE LOG CHECKPOINT的时候 我们会发现每次LOG SWITCH 只会将RBA增进到0x36.2.10
这也就是我推测LOG SWTICH CHECKPOINT<>INCREMNET CHECKPOINT的起点;
接着向下看当我发动LOG SWITCH 命令时,ALERT.LOG中记录
Beginning log switch checkpoint up to RBA [0x25.2.10], SCN: 775856
Thread 1 advanced to log sequence 37
Current log# 3 seq# 37 mem# 0: F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
此时我的RBA向0x25.2.10推进
这时DUMP controlfile 发现
THREAD #1 - status:0x2 flags:0x0 dirty:41
low cache rba

0x24.b28e.0) on disk rba

0x25.2.0)
on disk scn: 0x0000.000bd6b0 07/06/2009 23:13:20
此时的LRBA并未被推进至新文件的头。之后即使增进了一次RBA 也依旧是0X24的。所以我认为这2个检查点并非相同。
> 个人认为 LOG SWITCH 是另一种专门用来推进 LOG BUFFER 中的RBA至新文件头的CHECKPOINT AND 条件下激发COMPLETE
> CHECKPOINT的一种检查点 并非是增量检查点也并非是完全检查点
Did you omit a word (and possibly a punctuation mark) after "AND"? I have a hard time to follow your grammar.
哦 漏词了…… 其实我想说的是,LOG SWITCH CHECKPOINT 是用来增进RBA的文件号的CHECKPOINT
并且在全日志处于ACTIVE的情况下用来触发完全检查点的一种检查点。
后来经过一片文章
http://www.click2earth.com/post/74.html 觉得似乎 日志文件序号的更改并非是由LOG SWITCH CHECKPOINT 来实现的,
从上面的实验可以得出 1次日志切换检查点发生后 又发生了增量检查点。可是增量检查点的日志序号并没有改变。
这也就否定了我的想法。
同时参考上面链接文章中的一段
日志切换触发的是normal checkpoint,而不是大家所说的增量checkpoint,只不过log switch checkpoint的优先级非常低,当一个log switch checkpoint发生的时候它并不会立即的通知DBWn进程去写数据文件,但是当有其它原因导致checkpoint或者是写入数据文件的RBA超过log switch checkpoint的checkpoint RBA的时候,这次的log switch checkpoint将会被标记成完成状态,同时更新控制文件和数据文件头.
这样看起来 日志切换 仅仅是更新了控制文件和数据文件头,而不能直接影响到LOG BUFFER写出增量检查点时的文件序号。
> 另外,我也没有发现每三秒一次增量检查点触发的情形,如果实验证明 请指明 谢谢~~
When kevindream0509 says incremental checkpoint occurs at the heartbeat of once per 3 seconds, he doesn't mean there must be a checkpoint every 3 seconds. I think what he means is that if there're dirty buffers that should be checkpointed, they'll be checkpointed at the moment of the 3 second heartbeat. If there's no data change, of course there's no checkpoint at all.
Yong Huang