(checkpoint queue是dirty buffer按时间顺序排列的列表,用来表识DBWR写过的block.)
当发生log switch时候,CKPT 会写redo log中checkpoint position到datafile header,
这个checkpoint postion对应着checkpoint queue中的checkpoint position,对应相应的RBA.
DBWn会根据checkpoint queue中的checkpoint position来识别已经写到datafile的blocks.
识别以后,DBWn会从checkpoint queue移除这些checkpoint position.
如果在log switch发生的时候,没有checkpoint发生,那么等这些日志被覆盖,那么这些checkpoint position也就相应丢失了,DBWn又知道从哪写起呢
|