ORACLE資料庫中SCN與時間的轉換
10g中提供了兩個函式scn_to_timestamp()和timestamp_to_scn()用來執行時間戳和SCN的轉換,例如:
例如:
JSSPRE> select timestamp_to_scn(sysdate) from dual;
TIMESTAMP_TO_SCN(SYSDATE)
-------------------------
1263291
JSSPRE> select scn_to_timestamp(1263291) from dual;
SCN_TO_TIMESTAMP(1263291)---------------------------------------------------------------------------
02-JUN-09 10.12.28.000000000 AM
不過在之前的版本中並沒有提供這樣的函式,而是通過一個系統物件SYS.SMON_SCN_TIME來提供SCN和時間的對映資訊。
在10g之前版本,SYS.SMON_SCN_TIME最多擁有1440條記錄。這個最大記錄數是這樣計算出來的,ORACLE平均每5分鐘同步一次該表資料,最大儲存最近5天的記錄,因此就相當於12(每小時更新次數)*24*5=1440。
SCN資訊在該系統物件中儲存於SCN_WRP(SCN_WRAP)和SCN_BAS(SCN_BASE)兩列中,當資料SCN增長時,首先是BASE部分自增,如果BASE部分達到上限,則初始化為0,然後WRAP部分自增1。
明白這個邏輯,我們就可以通過對SYS.SMON_SCN_TIME計算,來執行時間和日期的轉換。
例如,有scn如下:
JSSPRE> select max(scn_bas) from sys.smon_scn_time;
MAX(SCN_BAS)
------------
1269168
查詢該SCN對應的時間,則可以通過下列的方式:
JSSPRE> select time_dp,scn_wrp*65535*65535+scn_bas scn from sys.smon_scn_time
2 where scn_bas='1269168';
------------------- ----------
2009-06-02 13:47:20 1269168
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-605632/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫的SCN轉換成時間和時間轉換成SCNOracle資料庫
- 同一資料庫資料SCN號與時間的轉化資料庫
- SCN 時間戳的相互轉換時間戳
- 檢視當前Oracle資料庫的時間及其SCN號Oracle資料庫
- zt_Oracle資料恢復:資料檔案頭的SCN與時間校驗_file$_scnOracle資料恢復
- (轉)SCN號與oracle資料庫恢復的關係Oracle資料庫
- SQL Server資料庫中Date/Time 時間格式的轉換SQLServer資料庫
- Oracle10g中SCN與TimeStamp轉換Oracle
- oracle資料庫SCNOracle資料庫
- Oracle資料庫中的多種SCN彙總Oracle資料庫
- oracle資料庫SCN概念Oracle資料庫
- SCN號與oracle資料庫恢復的關係Oracle資料庫
- MYSQL中UNIX時間戳與日期的轉換MySql時間戳
- Oracle資料庫SCN號的應用Oracle資料庫
- Oracle資料庫 檔案系統與裸裝置之間的轉換(RAC環境)Oracle資料庫
- 時間戳與時間字串的多時區轉換時間戳字串
- 【SCN】Oracle資料庫SCN號的四種獲取途徑Oracle資料庫
- SCN, Checkpoint 與 oracle資料庫恢復的關係(final)Oracle資料庫
- 字串與資料流之間的轉換字串
- 遷移資料時oracle字符集的轉換遷移資料時oracle字符集的轉換Oracle
- 定時器時間資料轉換子程式分析 (轉)定時器
- oracle時間間隔轉換函式Oracle函式
- SCN與資料庫恢復的關係資料庫
- oracle資料庫字符集的轉換Oracle資料庫
- oracle 10g中scn和timestamp相互轉換Oracle 10g
- 臨時表在Oracle資料庫與SQL Server資料庫中的異同Oracle資料庫SQLServer
- 本地時間與UTC(世界協調時間)的轉換
- oracle中date資料型別與timestamp資料型別的轉換Oracle資料型別
- 使用DUMP資料塊與BBED檢視BLOCK對比資料庫修改時的SCNBloC資料庫
- DB2資料庫與Oracle資料庫之間遠端複製(轉)DB2資料庫Oracle
- oracle 中將unix/linux時間戳進行轉換(轉)OracleLinux時間戳
- Oracle DG資料庫狀態轉換Oracle資料庫
- Oracle資料庫日期格式轉換操作Oracle資料庫
- python中的時間轉換,秒級時間戳轉string,string轉時間Python時間戳
- 關於Oracle資料庫的時間查詢Oracle資料庫
- oracle資料庫中索引空間的重用Oracle資料庫索引
- oracle轉換JAVA生成的時間數字串OracleJava字串
- mysql時間與字串之間相互轉換MySql字串