When does an incremental checkpoint occur ?
A)when an online redo log switch occurs.
B)when DBWn writes dirty buffers as part of its normal processing.
C)when the ALTER SYSTEM CHECKPOINT statement is executed.
D)when a user tablespace is tabken offline.
Answer: B
CUUG:但从 8i 开始,oracle 在 log switch 的时候做的是增量检查点,但从严格意义上来说并不能完全算是增量检查点,因为在 log switch 的时候,不仅会像增量检查点那样更新控制文件,而且还会像完全检查点那样会更新数据文件头(做过实验,会更新数据文件头,当 switch logfile 的时候)。
冉:A 答案应该换成 B 答案。以文档描述为准。
An incremental checkpoint is a type of thread checkpoint partly intended to avoid writing large numbers of blocks at online redo log switches. DBWn checks at least every three seconds to determine whether it has work to do. When DBWn writes dirty buffers, it advances the checkpoint position, causing CKPT to write the checkpoint position to the control file, but not to the data file headers.
赵:
DBWn 进程触发 4 个条件:
1.每隔 3 秒钟启动一次 DBWn。
2.发生 CKPT 检查点进程(包括增量检查点和完全检查点)。
3.如果脏数据块的总数超过一定的限度。
4.当进程在 LRU 链表上查找可以用得 buffer header 时,扫描到一定限度,会触发 DBWn。
注意:CKPT 与 DBWn 是配合使用
用户 commit 与 rollback 是对 LGWR 起作用。