SCN

SCNの概要

トランザクションの毎に、シーケンシャルに割り振られる番号 (System Commit Number と表記される場合もある)。
コントロールファイル、データファイル、REDO ログファイルなどに保存してある。この番号を元に障害の有無を判別し、リカバリも行ったりする非常に重要な番号。
データベースにおいては、実世界の時間的な存在といえる。(システム日付は信用できないため)

SCN取得方法

Oracle 10g

TIMESTAMP_TO_SCNおよびSCN_TO_TIMESTAMP

SQL> select to_number(timestamp_to_scn(sysdate-1)) from dual;

TO_NUMBER(TIMESTAMP_TO_SCN(SYSDATE-1))
--------------------------------------
                            2.2516E+12

SQL> select scn_to_timestamp(2251550185627) from dual;

SCN_TO_TIMESTAMP(2251550185627)
---------------------------------------------------------------------------
17-MAR-08 11.25.09.000000000 AM

SMON_SCN_TIMEによるSCN参照

SELECT * FROM SYS.SMON_SCN_TIME ORDER BY SCN DESC;
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License