li
  当前位置:主页 > 配置管理 > 文章内容
li
Oracle10g中SCN与TimeStamp的相互转换
来源: www.eygle.com  作者: eygle    时间:2009-06-25   阅读:34  

 首先通过dbms_flashback.get_system_change_number 可以获得系统当前的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 常用的SQL语法和数据对象...   下一篇: 又见ORA-19809,垃圾的oracle闪回...
li
 §相关评论  
 热点文章

·oracle Logfile的不同状态说明
·Oracle数据库的一些常用操作经
·Oracle10g(10.2) 在Redhat AS4
·oracle工具:浅谈LogMiner的使用
·RHAD AS4 上安装 Oracle 数据库
·oracle基础知识(物理结构)
·oracle基础:Oracle中null的使用
·Oracle常用基本语法操作集锦
·oracle数据库查询前台正在发出
·AIX+ORACLE10G安装手册
·oracle数据库9i升级到oracle10
li
 编辑推荐
·oracle Logfile的不同状态说明
·Oracle数据库的一些常用操作经
·Oracle10g(10.2) 在Redhat AS4
·oracle工具:浅谈LogMiner的使用
·RHAD AS4 上安装 Oracle 数据库
·oracle基础知识(物理结构)
·oracle基础:Oracle中null的使用
·Oracle常用基本语法操作集锦
·oracle数据库查询前台正在发出
·AIX+ORACLE10G安装手册
·oracle数据库9i升级到oracle10
li
 相关篇章
·ORACLE 常用的SQL语法和数据对象...
·ORACLE 常用的SQL语法和数据对象...
·oracle基础知识--常用SQL*Plus语...
·利用ORADEBUG命令DUMP控制文件
·oracle日常操作汇总:表空间篇
·oracle日常操作汇总:日志篇
·ORA-02449: unique/primary keys...
·ORACLE表间关系详述
·如何查询一个表中某字段重复记录...
·ORA-01688:unable to extend tab...
·又见ORA-19809,垃圾的oracle闪回...
·主键与外键之ORA-02292: integri...
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接