天天看点

数据库SCN和时间的互相转换

说明:SCN(System Change Number 简称 SCN)是当Oracle数据库更新后,由DBMS自动维护去累积递增的一个数字,可以理解成ORACLE数据库的时间戳,从ORACLE 10G开始,提供了函数可以实现SCN和时间进行相互转换;

用途:在进行数据库的还原和利用数据库的闪回功能时,进行SCN和时间的转换就变的非常必要了;

操作方法:

1、通过dbms_flashback.get_system_change_number获得系统当前的SCN值:

SQL>  select dbms_flashback.get_system_change_number scn from dual;

        SCN

-----------------

122037263

2、通过scn_to_timestamp函数可以将SCN转换为时间戳:SQL> select scn_to_timestamp(122037263) scn from dual;

 SCN

---------------------------------------------------------------------------

14-7月 -14 04.45.36.000000000 下午

3、还可以通过timestamp_to_scn可以将时间戳转换为SCN:

SQL> select timestamp_to_scn(to_date('2014-07-13,13:25:59','yyyy-mm-dd,hh24:mi:ss')) scn from dual;

---------------------

121936647

总结:通过以上两个函数就可以实现SCN和时间的转换;

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

本文作者:JOHN

ORACLE技术博客:ORACLE 猎人笔记               数据库技术群:367875324 (请备注ORACLE管理 )