今天终于搞清楚了一个问题,是关于low cache rba与on disk rba的理解的:在此记录一下:
简单说:low cache rba就是CKPT记录的DBWR写的进度。
on disk rba就是LGWR的写进度。
如果数据库carsh,low cache rba是恢复的起点,on disk rba是恢复的终点。
阐述一下:
dbwr成功写完后并不把此刻scn信息写到控制文件中,只有CKPT才更新控制文件和数据文件头,dbwr只要成功将dirty data写入数据文件就是成功, CKPT只要能将最新DBWR写完的SCN更新到控制文件和数据文件头就算成功。但是由于CKPT进程不是实时更新dbwr写完的scn到控制文件中,而是采用每3妙更新一次的策略,因此最后有ckpt进程写进控制文件的scn信息有可能不是当前dbwr刚刚写完的scn值。这点应该注意,也就是说dbwr写的进度与ckpt进程更新控制文件的进度是不同的。
IXDBA.NET社区论坛