|
最初由 qsxing 发布
[B]数据文件头部分:
status:0x0 root dba:0x00000000 chkpt cnt: 46 ctl cnt:45
大师,你还没有解释ctl cnt:45是什么意思?
难倒是控制文件的cnt,但是对比一下上面的从控制文件获得的cnt好像也是46啊。还请大师解释? [/B]
为什么数据文件头记录的ctl cnt:45 比控制文件中小1呢?
是这样的:
当检查点更新控制文件和数据文件头上的chkpt cnt信息时
在更新控制文件之前,可以获得当前的ctl cnt,这个信息被记入了数据文件,也就是 ctl cnt:45
为什么要写这个到数据文件呢?
因为不能保证当前更新 控制文件 上的 checkpoint cnt一定会成功(数据库可能突然crash掉了),记录之前成功的ctl cnt可以确保上一次的checkpoint是成功完成的,从而省略了校验步骤。 |
|