システム変更番号
Oracle は整合性を維持するためにコミット単位で SCN(System Change Numbers)
という順序をふっている。これは内部的なタイムスタンプであって、
システム変更番号とも呼ばれる。
OracleのSCNを取得
動的パフォーマンスビュー v$database の current_scn を参照すると、
SCN の値を取得できる。
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
3392846
SCNの最大値
Oracle SCN の最大値は、なんと「281兆」という途方もない数値だ。
「281,474,976,710,656」。まず、MAX 値になる心配はないだろう。
SCN のタイムスタンプを確認
SCN_TO_TIMESTAMP 関数を使用することで、取得した SCN 時点の
タイムスタンプを出力できる。
SQL> select current_scn, scn_to_timestamp(current_scn) from v$database;
CURRENT_SCN SCN_TO_TIMESTAMP(CURRENT_SCN)
----------- -----------------------------
3392860 18-12-30 22:26:13.000000000

