[quote=引用 3 楼 liuzhijian2008x 的回复:] 因为你没明白检查点就是一个scn。 实例恢复的时候也是用的检查点这个scn。 数据库启动从 mount到open的时候,会去比对控制文件中记录的检查点scn 与所有数据库文件头记录的检查点scn及last 结束scn ,如果一致就不需要recover,如果不一致就需要recover。
因为你没明白检查点就是一个scn。 实例恢复的时候也是用的检查点这个scn。 数据库启动从 mount到open的时候,会去比对控制文件中记录的检查点scn 与所有数据库文件头记录的检查点scn及last 结束scn ,如果一致就不需要recover,如果不一致就需要recover。
scn是(system change number),是可以代表任何一个原子事务的时间点。数据库恢复也是根据scn来恢复的(基于时间的恢复其实也是基于某个scn,只是后台把时间转换为scn了) 检查点其实就是一个scn,记录的是数据库一致状态的一个scn,以便于确定数据文件是否一致,是否需要recover。 你查看下这两个scn就更直观了。 select checkpoint_change# from v$database; //检查点scn select dbms_flashback.get_system_change_number from dual; //当前scn
17,377
社区成员
95,128
社区内容
加载中
试试用AI创作助手写篇文章吧