Oracle Database 11g Enterprise Edition 11.2.0.1.0
Enterprise Linux Server 5.5
Oracle 10g 引入 SCN_TO_TIMESTAMP 與 TIMESTAMP_TO_SCN,解決了 10g 前只能依賴 LogMiner 分析日志、且無法轉換久遠 SCN 的痛點。
SELECT current_scn FROM v$database;
-- 或
SELECT dbms_flashback.get_system_change_number FROM dual;
示例輸出:9501880 / 9502397
-- 當前時間
SELECT systimestamp FROM dual;
-- 09-6月-15 01.30.16.101027 下午 +08:00
-- SCN 轉時間
SELECT scn_to_timestamp(9501954) FROM dual;
-- 09-6月-15 01.30.15.000000000 下午
-- 時間轉 SCN(反向驗證)
SELECT timestamp_to_scn(scn_to_timestamp(9501954)) FROM dual;
-- 9501952 (與原 SCN 微小差異,屬正常精度範圍)
AS OF TIMESTAMP)V$LOG_HISTORY、V$ARCHIVED_LOG 粗略對應。