SCN 時間戳的相互轉換
SQL> select * from v$version where rownum=1;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
SQL> !cat /etc/issue
Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)
Kernel \r on an \m
oracle 10g提供了兩個新的函式對於scn和時間戳進行相互轉換,這兩個函式是scn_to_timestamp,timestamp_to_scn,這兩者的相互轉換,給管理者帶來極大的便利。
在10g之前oracle是沒有辦法透過函式得到時間和scn的對應關係(一般透過logmnr分析日誌獲得,但是這種轉換是依賴於資料庫內部的資料記錄,對於久遠的scn不能轉換。
獲得當前資料庫scn:
SQL> select CURRENT_SCN from v$database;
CURRENT_SCN
-----------
9501880
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
9502397
SQL> select systimestamp from dual;
SYSTIMESTAMP
---------------------------------------------------------------------------
09-6月 -15 01.30.16.101027 下午 +08:00
SQL> select scn_to_timestamp( 9501954) from dual;
SCN_TO_TIMESTAMP(9501954)
---------------------------------------------------------------------------
09-6月 -15 01.30.15.000000000 下午
SQL> select timestamp_to_scn('09-6月 -15 01.30.15.000000000 下午') from dual
2 ;
TIMESTAMP_TO_SCN('09-6月-1501.30.15.000000000下午')
---------------------------------------------------
9501952
SQL> select timestamp_to_scn(scn_to_timestamp( 9501954)) from dual;
TIMESTAMP_TO_SCN(SCN_TO_TIMESTAMP(9501954))
-------------------------------------------
9501952
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
SQL> !cat /etc/issue
Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)
Kernel \r on an \m
oracle 10g提供了兩個新的函式對於scn和時間戳進行相互轉換,這兩個函式是scn_to_timestamp,timestamp_to_scn,這兩者的相互轉換,給管理者帶來極大的便利。
在10g之前oracle是沒有辦法透過函式得到時間和scn的對應關係(一般透過logmnr分析日誌獲得,但是這種轉換是依賴於資料庫內部的資料記錄,對於久遠的scn不能轉換。
獲得當前資料庫scn:
SQL> select CURRENT_SCN from v$database;
CURRENT_SCN
-----------
9501880
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
9502397
SQL> select systimestamp from dual;
SYSTIMESTAMP
---------------------------------------------------------------------------
09-6月 -15 01.30.16.101027 下午 +08:00
SCN_TO_TIMESTAMP(9501954)
---------------------------------------------------------------------------
09-6月 -15 01.30.15.000000000 下午
SQL> select timestamp_to_scn('09-6月 -15 01.30.15.000000000 下午') from dual
2 ;
TIMESTAMP_TO_SCN('09-6月-1501.30.15.000000000下午')
---------------------------------------------------
9501952
SQL> select timestamp_to_scn(scn_to_timestamp( 9501954)) from dual;
TIMESTAMP_TO_SCN(SCN_TO_TIMESTAMP(9501954))
-------------------------------------------
9501952
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29876893/viewspace-1692842/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- javascript時間戳和時間格式的相互轉換JavaScript時間戳
- js時間戳與日期格式的相互轉換JS時間戳
- Python時間戳的使用和相互轉換Python時間戳
- (C#)時間戳、DateTime相互轉換C#時間戳
- Perl中本地時間和UNIX時間戳間相互轉換時間戳
- 時間日期和時間戳相互轉換程式碼例項時間戳
- 時間轉換成時間戳時間戳
- C 時間轉換時間戳時間戳
- Oracle資料庫的SCN轉換成時間和時間轉換成SCNOracle資料庫
- java時間戳和PHP時間戳的轉換phptime()Java時間戳PHP
- C 時間戳轉換成時間時間戳
- Excel中時間戳轉換時間Excel時間戳
- 轉換時間戳的函式時間戳函式
- 時間戳與時間字串的多時區轉換時間戳字串
- javascript將時間物件轉換為時間戳JavaScript物件時間戳
- Timestamp-時間戳轉換時間戳
- 時間戳格式化轉換時間戳
- js 轉換時間戳的寫法ScriptJS時間戳
- SqlServer時間戳與普通格式的轉換SQLServer時間戳
- mysql時間與字串之間相互轉換MySql字串
- MySQL 時間戳的 獲取 & 轉換為特定時間格式MySql時間戳
- python時間戳和時間字串的各種轉換Python時間戳字串
- golang日期字串與時間戳轉換Golang字串時間戳
- 將時間戳轉換為時間例項程式碼時間戳
- 把時間戳之差轉換成時分秒格式時間戳
- SQL Server 字串和時間相互轉換SQLServer字串
- MYSQL中UNIX時間戳與日期的轉換MySql時間戳
- python中的時間轉換,秒級時間戳轉string,string轉時間Python時間戳
- JavaScript 時間戳轉換為年月日JavaScript時間戳
- JS 時間戳轉換成幾天前JS時間戳
- 將時間戳轉換為時間日期程式碼例項時間戳
- sqlite、mysql 將時間戳轉換成本地時間語句SQLiteMySql時間戳
- ORACLE資料庫中SCN與時間的轉換Oracle資料庫
- C# 時間戳轉時間C#時間戳
- jmeter_遍歷轉換浮點時間戳JMeter時間戳
- 【純手工打造】時間戳轉換工具(python)時間戳Python
- 掌握時間與空間:深入探討Golang中的時間戳與時區轉換Golang時間戳
- 時間戳轉化為時間格式時間戳