1、系统检查点scn
当一个检查点动作完成后,Oracle就把系统检查点的SCN存储到控制文件中。
select checkpoint_change# from v$database;
2,数据文件检查点scn
当一个检查点动作完成后,Oracle就把每个数据文件的scn单独存放在控制文件中。
select name,checkpoint_change# from v$datafile;
3,启动scn
Oracle把这个检查点的scn存储在每个数据文件的文件头中,这个值称为启动scn,因为它用于在数据库实例启动时,
检查是否需要执行数据库恢复。
select name,checkpoint_change# from v$datafile_header
4、终止scn
每个数据文件的终止scn都存储在控制文件中。
select name,last_change# from v$datafile
终止SCN:
如果你上次关闭数据库是abort 方式关闭的:当你启动到mount 的时候,会发现 终止SCN 为 空。
这是因为因为abort 后,系统非正常关闭。redo里还有赃块没有写入磁盘。
只有干净地关闭数据库后,所有的脏块写入磁盘后,结束scn才有一个值-
这时候在Oracle在启动地过程中会进行实例恢复:1.定位到最早的 active状态的redo日志文件(scn号和系统scn相等的那个)进行前滚恢复。
这时候数据库open后,终止scn会被置为空。
如果你是正常关闭的,那么进入mount 后 ,会看到 上次终止scn的状态,同时open后 终止scn会清空。
自己做个实验试试--