oracle SCN跟TIMESTAMP之间转换

本文将详细介绍oracle SCN跟TIMESTAMP之间转换,需要的朋友可以参考下

Sql代码
–获取当前的SCN
代码如下:
select dbms_flashback.get_system_change_number scn1,
timestamp_to_scn(sysdate) scn2 from dual;

–将SCN转换成功时间
代码如下:
select to_char(scn_to_timestamp(34607271), ‘yyyy-mm-dd hh24:mi:ss’) chr,
timestamp_to_scn(scn_to_timestamp(34607271)) dt
from dual;

作为对于闪回操作(flashback)的一个增强,Oracle10g提供了函数对于SCN和时间戳进行相互转换。

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1800537.html

(0)
上一篇 2025年2月21日 12:54:42
下一篇 2025年2月21日 12:55:02

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 怎样操作babel转换es6

    这次给大家带来怎样操作babel转换es6,操作babel转换es6的注意事项有哪些,下面就是实战案例,一起来看一下。z babel是一个转码器,目前开发react、vue项目都要使用到它。它可以把es6+的语法转换为es5,也可以转换JS…

    2025年3月31日 编程技术
    100
  • 在js中如何实现转换时间戳格式

    下面我就为大家分享一篇js实现把时间戳转换为yyyy-mm-dd hh:mm 格式(es6语法),具有很的参考价值,希望对大家有所帮助 如下所示: function formatDate(date,fmt) { if(/(y+)/.test…

    编程技术 2025年3月31日
    100
  • 在C#中如何实现将一个字符转换为整数

    下面小编就为大家分享一篇c#实现将一个字符转换为整数,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 按标题的要求将一个字符转换为整数。实现此功能,也有好几个方法 方法一:Convert.ToInt32(string); 运…

    2025年3月31日 编程技术
    100
  • utc时间如何转换为北京时间

    整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。UTC与格林尼治平均时(GMT, Greenwic…

    2025年3月30日
    100
  • Vue中实现HTML到HTMLDocx的转换:一种高效的文档生成方式

    vue中实现html到htmldocx的转换:一种高效的文档生成方式 在现代web开发中,我们经常会遇到将HTML内容转换为其他格式的需求,其中一种常见的需求是将HTML转换为Word文档。本文将介绍一种在Vue中实现HTML到HTMLDo…

    编程技术 2025年3月30日
    100
  • Photoshop极坐标滤镜详细讲解

      对于一些抽象的效果图,photoshop中的极坐标滤镜还有很多东西值得研究……   【摘要】对于一些抽象的效果图,photoshop中的极坐标滤镜还有很多东西值得研究……   在国外的网站上看到有人把photoshop的滤镜分为两类,一…

    2025年3月30日 编程技术
    100
  • 2023双春年结婚过年需要住男方家吗

    随着11月份的到来我们就冬季更近了一部,但是冬天因为天气寒冷很多人都喜欢待在家里,再加上今年没什么闰月,所以春节肯定也就在前面了,不过因为今年是双春年,就和大家一起看看双春年过年在哪过好。 双春年过年需要住男方家吗 看地方的讲究。不过吧大家…

    2025年3月29日
    621.1K00
  • 怎么把图片文字转换成word文档

    php小编西瓜教你如何将图片文字转换成word文档。无需复制粘贴,只需使用ocr文字识别工具,便可轻松实现图片文字转换。ocr技术能够识别图片中的文字,并将其转换成可编辑的文本内容,让你方便地编辑和保存为word文档。接下来,我们将详细介绍…

    2025年3月29日
    100
  • Word文字如何转换成表格

    php小编柚子教你如何将word文档中的文字快速转换成表格。表格在编辑文档时能够使排版更加整齐、清晰,提高工作效率。通过简单的操作,你可以将文字内容转换成表格形式,便于查阅和管理。接下来,让我们一起来了解具体的操作步骤吧! 在准备将Word…

    2025年3月29日 互联网
    100
  • 怎么把网页转成word

    php小编草莓为您介绍如何将网页内容转换为word文档。有时候我们需要保存网页上的重要信息,但又不方便在线查看,这时候将网页转为word文档就会非常方便。通过简单的操作,您可以将网页的文字、图片等内容保存到本地,随时查阅或编辑。接下来,我们…

    2025年3月29日 互联网
    100

发表回复

登录后才能评论