当前位置:  数据库>oracle

Oracle 10g中SCN与TimeStamp的相互转换

    来源: 互联网  发布时间:2017-04-15

    本文导语: 首先通过dbms_flashback.get_system_change_number 可以获得系统当前的SCN值: SQL> col scn for 9999999999999SQL> select dbms_flashback.get_system_change_number scn from dual; SCN--------------8908390522972 通过scn_to_timestamp函数可以将SCN转换为时间戳: SQL> select scn_to_time...

首先通过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

-The End-


    
 
 

您可能感兴趣的文章:

  • oracle SCN跟TIMESTAMP之间转换
  • oracle日期时间型timestamp的深入理解
  • 在oracle里如何将String转换成Date?????
  • 请问:ORACLE中的数据取出来后,需不需要进行一定的转换才能变为C语言的数据类型啊?
  • ORACLE 毫秒与日期的相互转换示例
  • 用java怎样实现oracle数据库表和excel数据表的转换
  • Oracle与FoxPro两数据库的数据转换步骤
  • Oracle下时间转换在几种语言中的实现
  • 关于tomcat4.0.1+JDK1.3+ORACLE+JDBC中字符编码的转换问题。
  • MySQL转换Oracle的需要注意的七个事项
  • MySQL数据库向Oracle转换时注意若干问题
  • Oracle Number型数值存储与转换的实现详解
  • 讲解Oracle中的Clob与String类型转换
  • 将mysql转换到oracle必须了解的50件事
  • oracle中to_date详细用法示例(oracle日期格式转换)
  • ORACLE常用数值函数、转换函数、字符串函数
  • Oracle CBO几种基本的查询转换详解
  • Oracle to_char 日期转换字符串语句分享
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 10g和Oracle 11g网格技术介绍
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle 10g中导出到Oracle 9的问题小结
  • 用java怎样实现oracle数据库表和excel数据表的转换 iis7站长之家
  • Oracle 10G进程体系学习笔记
  • [官方最新消息]Oracle 10G 认证考试新变化
  • SOLARIS 下如何卸载ORACLE10G
  • oracle10g 数据备份与导入
  • 为何用dbstart启动oracle10g不好用
  • linux下oracle 10g如何完全卸载?
  • Oracle 10g client for Solaris
  • 急求Linux下oracle 10g和weblogic 9的安装
  • Linux系统下利用java连接Oracle 10G
  • Linux下完全卸载ORACLE 10G的方法
  • Linux下Oracle 10G DBCA等汉字乱码解决方法
  • redhat as 4 下如何安装oracle 10g ?
  • 求助前辈们:solaris 10 x86 安装oracle 10g 错误
  • 将Oracle 8i数据成功移植Oracle 10g的方法
  • 上传一个非常详细的Oracle10G在IBMAIX 5L上的安装步骤与大家分享
  • linux as3 安装oracle10g ,web端能访问,终端用命令不能进入
  • 如何升级Oracle 9i到10g
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • Oracle 数据库开发工具 Oracle SQL Developer
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle EBS R12 支持 Oracle Database 11g
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3