SCN全称是system change number.这个是一个非常重要的数. oracle 为数据库中的每一个操作都分配一个递增的scn, 即使是分布式的系统,都不会出现scn重复的现象, oracle 不会重设scn. scn存在于transaction表, 数据块头部, 控制文件,数据文件头以及redo record里面. 以下来分别解释各种不同的scn.
1. redo log 文件中的scn
当系统发生redolog switch 的时候, 新的redo log文件会获得一个起始scn, 这个scn 比前一个redo log 文件的结束scn大1. 当oracle关闭这个redolog文件是, 会把最新的scn作为结束scn写入这个文件.
sql> select * from v$log_history;
1. redo log 文件中的scn
当系统发生redolog switch 的时候, 新的redo log文件会获得一个起始scn, 这个scn 比前一个redo log 文件的结束scn大1. 当oracle关闭这个redolog文件是, 会把最新的scn作为结束scn写入这个文件.
sql> select * from v$log_history;