oracle启动过程中的一致性检查
1.对比 start scn 与 checkpoint scn
2.对比 start scn 与 end scn
一、第一次检查是决定是否做 media recover
1.对比控制文件中记录的数据库全局检查点 Checkpoint SCN 和 数据文件头部所记录的数据文件的 Start SCN 是否相等,从而确定是否需要进行介质恢复。 两者不相等需介质恢复时, 介质恢复的起始点是各数据文件头部所记录的 Start SCN 对应的 RBA 终点是控制文件中记录的数据库全局检查点 Checkpoint SCN 对应的 RBA
2.两者若相等则进行第二次检查是决定是否做 instance recover
二、第二次检查是决定是否做 instance recover 对每个数据文件都作这样的检查,然后打开数据库:
1.检查对数据文件头中的中对应文件的 Start SCN 和 控制文件中对应文件的 end SCN
2.分两种情况
a.如果 end SCN 等于 start SCN,则不需要对那个文件进行 redo 恢复。
b.如果上次数据库用 ABORT 等非正常关闭的,数据库没进行检查点处理,而结束SCN 仍然为无穷大或 null。 在下次启动期间,发现开始 SCN 和结束 SCN 不同,需要进行实例恢复: 前滚,online,后滚
3.作为打开过程的一部分,要将结束 SCN 重新设置为无穷大或 null
1.对比 start scn 与 checkpoint scn
2.对比 start scn 与 end scn
一、第一次检查是决定是否做 media recover
1.对比控制文件中记录的数据库全局检查点 Checkpoint SCN 和 数据文件头部所记录的数据文件的 Start SCN 是否相等,从而确定是否需要进行介质恢复。 两者不相等需介质恢复时, 介质恢复的起始点是各数据文件头部所记录的 Start SCN 对应的 RBA 终点是控制文件中记录的数据库全局检查点 Checkpoint SCN 对应的 RBA
2.两者若相等则进行第二次检查是决定是否做 instance recover
二、第二次检查是决定是否做 instance recover 对每个数据文件都作这样的检查,然后打开数据库:
1.检查对数据文件头中的中对应文件的 Start SCN 和 控制文件中对应文件的 end SCN
2.分两种情况
a.如果 end SCN 等于 start SCN,则不需要对那个文件进行 redo 恢复。
b.如果上次数据库用 ABORT 等非正常关闭的,数据库没进行检查点处理,而结束SCN 仍然为无穷大或 null。 在下次启动期间,发现开始 SCN 和结束 SCN 不同,需要进行实例恢复: 前滚,online,后滚
3.作为打开过程的一部分,要将结束 SCN 重新设置为无穷大或 null
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26794255/viewspace-1401556/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26794255/viewspace-1401556/