濮阳杆衣贸易有限公司

主頁 > 知識庫 > oracle SCN跟TIMESTAMP之間轉換

oracle SCN跟TIMESTAMP之間轉換

熱門標簽:北京營銷外呼系統(tǒng)廠家 地圖標注付款了怎么找不到了 沈陽400電話是如何辦理 貴陽智能電銷機器人官網 溫州人工外呼系統(tǒng) 外呼系統(tǒng)口號 百度地圖標注員是干什么 外呼系統(tǒng)鄭州 北京外呼系統(tǒng)公司排名

Sql代碼
--獲取當前的SCN

復制代碼 代碼如下:

select dbms_flashback.get_system_change_number scn1,
timestamp_to_scn(sysdate) scn2 from dual;

--將SCN轉換成功時間
復制代碼 代碼如下:

select to_char(scn_to_timestamp(34607271), 'yyyy-mm-dd hh24:mi:ss') chr,
timestamp_to_scn(scn_to_timestamp(34607271)) dt
from dual;


作為對于閃回操作(flashback)的一個增強,Oracle10g提供了函數對于SCN和時間戳進行相互轉換。

首先通過dbms_flashback.get_system_change_number 可以獲得系統(tǒng)當前的SCN值:

SQL> col scn for 9999999999999
SQL> select dbms_flashback.get_system_change_number scn from dual;
SCN
--------------
8908390522972

通過scn_to_timestamp函數可以將SCN轉換為時間戳:


SQL> select scn_to_timestamp(8908390522972) scn from dual;
SCN
---------------------------------------------------------------------------
05-JAN-07 10.56.30.000000000 AM

再通過timestamp_to_scn可以將時間戳轉換為SCN:

SQL> select timestamp_to_scn(scn_to_timestamp(8908390522972)) scn from dual;
SCN
--------------
8908390522972

通過這兩個函數,最終Oracle將SCN和時間的關系建立起來,在Oracle10g之前,是沒有辦法通過函數轉換得到SCN和時間的對應關系的,一般可以通過logmnr分析日志獲得。

但是這種轉換要依賴于數據庫內部的數據記錄,對于久遠的SCN則不能轉換,請看以下舉例:


SQL> select min(FIRST_CHANGE#) scn,max(FIRST_CHANGE#) scn from v$archived_log;
SCN SCN
------------------ ------------------
8907349093953 8908393582271

SQL>
復制代碼 代碼如下:

select scn_to_timestamp(8907349093953) scn from dual;
select scn_to_timestamp(8907349093953) scn from dual
*
ERROR at line 1:
ORA-08181: specified number is not a valid system change number
ORA-06512: at "SYS.SCN_TO_TIMESTAMP", line 1
ORA-06512: at line 1


SQL> select scn_to_timestamp(8908393582271) scn from dual;

SCN
---------------------------------------------------------------------------
05-JAN-07 11.45.50.000000000 AM

您可能感興趣的文章:
  • 淺談oracle SCN機制
  • Oracle SCN與檢查點詳解

標簽:衢州 衡水 潮州 通遼 淮北 溫州 包頭 定西

巨人網絡通訊聲明:本文標題《oracle SCN跟TIMESTAMP之間轉換》,本文關鍵詞  oracle,SCN,跟,TIMESTAMP,之間,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《oracle SCN跟TIMESTAMP之間轉換》相關的同類信息!
  • 本頁收集關于oracle SCN跟TIMESTAMP之間轉換的相關信息資訊供網民參考!
  • 推薦文章
    兴化市| 东辽县| 汽车| 崇仁县| 宣城市| 清徐县| 嘉禾县| 原阳县| 澳门| 巴楚县| 隆回县| 沁水县| 兴山县| 芜湖县| 吉木萨尔县| 吴江市| 垫江县| 纳雍县| 兰坪| 泗水县| 竹北市| 靖宇县| 镇赉县| 本溪| 宝鸡市| 仁寿县| 潜江市| 洛阳市| 丹阳市| 油尖旺区| 五华县| 浦东新区| 中宁县| 来安县| 镇康县| 嵊泗县| 盐边县| 墨脱县| 秀山| 甘谷县| 黑龙江省|