SCN:系统改变号,被作为oracle数据库内部的时钟机制,每一个数据库都有一个全局的SCN生成器.SCN通常用来维护数据库的一致性。
通常,在事务,控制文件,数据文件头,日志文件,数据块头都记录有SCN的值。
Oracle 9i之后
获取SCN的值使用以下方式:
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
481981
系统当前的SCN通常是在事务提交或者回滚的时候才会改变。
例:在日志文件头中包含了Low SCN和Next SCN,日志文件包含有介于Low SCN和Next SCN的重做信息,对于Current的日志文件,其最终SCN不知.
SQL> select group#,status,first_change# from v$log;
GROUP# STATUS FIRST_CHANGE#
---------- ---------------- -------------
1 INACTIVE 451154
2 CURRENT 480166
3 INACTIVE 446075
SQL> select dbms_fl