Checkpoint Queue问题!求高手解答
情殇无限 2011-08-23 01:51:16 ORACLE使用增量检查点,Checkpoint队列头是最早被修改但还没有写入硬盘的BLOCK,假设第一个页最早在10点修改的,到了10点10分又做了修改,这时候页在Checkpoint Queue中的位置没有变,也就是这个页的LRAB和HRAB不同,当CHECK POINT通知DBWn写入数据时,第一页被写入数据文件。问题是:这时候联机重做日志文件中的RAB还只移动到LRAB,而LRAB和HRAB中间会相差很多其它更改失量,这时候数据库非正常关闭,下次重启时是从LRAB位置开始重做的回滚,到达HRBA时怎么判断更改已经写入文件了?
我现在猜测的是:日志文件里是不是记录了更改行的ROWID,重做和回滚时会根据ROWID加以判断。
求高手给个权威的解释!!!