欢迎投稿

今日深度:

ORACLE数据库SCN和时间的互相转换,oracle数据库s

ORACLE数据库SCN和时间的互相转换,oracle数据库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;   SCN   ---------------------

oracle的scn是一直增大的?什事件会触发该值的变化?

理论上可以这么说。事实上scn非唯一值,只有redolog 的scn值会采用+1的方式递增,其它的是采用时间戳的方式换算的值。触发scn更改的事件很多,从scn的名字上很好理解:system change number。就是有更改就有scn咯。
 

oracle什时产生系统更改号scn

1.DML语句的发生会导致SCN的增加(你不COMMIT也会增加)
2.内部SCN默认每3秒自动增加,无论是否对数据库进行操作
3.发生checkpoint时会增加SCN
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/2903.html NewsArticle ORACLE数据库SCN和时间的互相转换,oracle数据库scn SCN(System Change Number 简称 SCN)是当 Oracle 数据库 更新后,由DBMS自动维护去累积递增的一个数字,可以理解成ORACLE数据库的时间戳,从...
评论暂时关闭