システム変更番号
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