`
longgangbai
  • 浏览: 7330842 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle11g中SCN与TimeStamp的相互转换

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


获取系统的SCN号
select dbms_flashback.get_system_change_number scn from dual;
将SCN号转化为timestamp
select scn_to_timestamp(8425899180) scn from dual;
将timestamp号转化为SCN
select timestamp_to_scn(scn_to_timestamp(8425899180)) from dual;

通过这两个函数,最终Oracle将SCN和时间的关系建立起来,在Oracle10g之前,
是没有办法通过函数转换得到SCN和时间的对应关系的,一般可以通过logmnr分
析日志获得。

根据归档日志查看,查看SCN信息
select min(first_change#) min_scn,max(first_change#) max_scn from v$archived_log;

但是这种转换要依赖于数据库内部的数据记录,对于久远的SCN则不能转换.
执行最小的SCN号,min_scn(1752423)报错.
select scn_to_timestamp(1752423) scn from dual;

查找统一批增加的记录信息
1.select empno,ora_rowscn from scott.emp;
备注:根据表中记录中隐式的ora_rowscn查看每行的scn批号.
2.根据scn批号查询相关的时间
select scn_to_timestamp(584845289) from dual;
3.使用flashback恢复表结构


使用函数查找SCN号
variable myscn number;
exec :myscn:=dbms_flashback.get_system_change_number();
print myscn;


 

分享到:
评论

相关推荐

    oracle SCN跟TIMESTAMP之间转换

    在Oracle 10g及以后的版本中,为了支持闪回操作和其他时间相关的功能,引入了SCN与TIMESTAMP之间的转换函数。这些函数允许我们根据需要将SCN值转换为可读的日期时间,反之亦然。 1. **获取当前SCN**: 你可以使用 ...

    Oracle SCN机制解析

    Oracle SCN(System Change Number)机制是Oracle数据库中用于追踪和管理数据变化的关键组件。SCN是一个不断递增的数字,确保了数据库能够准确地识别和处理事务中的数据修改,尤其是在故障恢复、Data Guard、Streams...

    Oracle SCN机制解析.docx

    这个SCN是通过timestamp转换得到的,可以使用`dbms_flashback.get_system_change_number`函数获取当前SCN。当redo log切换或checkpoint发生时,从低SCN到Next SCN之间的所有redo记录会被写入数据文件,同时,Start ...

    《Oracle10G-闪回技术》实验手册.doc

    在Oracle 10G中,引入了SCN(System Change Number)与Timestamp之间的相互转换功能,增强了闪回操作的灵活性。`scn_to_timestamp`函数可将SCN转换为时间戳,而`timestamp_to_scn`则反之。这使得DBA能够在知道大概...

    oracle scn 详解

    **SCN (System Change Number)** 是Oracle数据库中用于标识数据库状态变化的一种内部编号机制。它是一个递增的数字,每当数据库发生更新操作时,SCN就会增加。这个机制主要用于跟踪数据库的变更历史,对事务处理、...

    ORACLE中查找定位表最后DML操作的时间小结

     ORA_ROWSCN伪列是Oracle 10g开始引入的,可以查询表中记录最后变更的SCN。然后通过SCN_TO_TIMESTAMP函数可以将SCN转换为时间戳,从而找到最后DML操作时SCN的对应时间。但是,默认情况下,每行记录的ORA_ROWSCN是...

    oracle scn

    在日志管理过程中,每当一个事务提交后,Oracle会在重做日志中创建一条redo记录,并为其分配一个最新的SCN。当该redo记录所在的日志段被清空时,该SCN将成为该日志段的最低SCN(low SCN)。随后的redo记录将获得更高的...

    浅谈oracle SCN机制

    Oracle数据库的System Change Number (SCN) 是一个关键的机制,用于跟踪和管理数据库中的更改。SCN是一个不断增加的数字,它确保了Oracle能够准确地识别哪些数据已更新,哪些还未更新,这对于数据恢复、Data Guard、...

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

    从Oracle 10g版本开始,数据库系统引入了方便的函数,使得SCN与时间戳之间可以进行转换,这对于数据库恢复和闪回操作至关重要。在这些操作中,可能需要根据特定的时间点来定位数据库的状态,而SCN作为一个无时间单位...

    oracle中关于flashback闪回的介绍

    - **表映射**:Oracle在SYS模式下维护了一个名为`SMON_SCN_TIME`的表,用于存储系统时间标记与SCN之间的对应关系。 - **最大记录数**:该表最多可以存储1440条记录,每5分钟同步一次数据,因此最多可以支持最近5天的...

    ORACLE误删除数据的恢复方法

    SCN,全称System Change Number(系统变更号),是Oracle数据库中的一个重要数据结构。SCN提供了Oracle的内部时钟机制,可以被视为一种逻辑时钟,这对于恢复操作尤其重要。 - **定义**:SCN定义了数据库在某个确切...

    OracleDatabase11g闪回技术概述.pptx

    Oracle Database 11g的闪回技术是一种强大的数据恢复和时间点恢复机制,它允许数据库管理员和用户在不依赖备份的情况下恢复数据到过去的某个特定时间点。这一特性显著提高了数据库的可用性和容错能力,降低了因误...

    查询指定时间点的表数据.txt

    5. **版本兼容性**:`AS OF TIMESTAMP`是在Oracle 11g及更高版本中引入的特性,因此在低版本的Oracle数据库中不可用。 #### 五、实际应用场景 - **历史数据分析**:在金融、医疗等行业中,往往需要分析过去一段...

    oracle flash back stop

    文件名中提到的"Oracle10g flash_recovery_area 与archive_log",这部分涉及的是Oracle数据库的归档日志管理和Flash Recovery Area。Flash Recovery Area是一个特殊的位置,用于存储闪回所需的所有文件,包括归档...

    《Oracle Database编程指南》13-05:转换函数(Conversion Functions)

    在Oracle数据库中,转换函数是用于将数据从一种类型转换为另一种类型的关键工具。这些函数在处理各种数据类型时尤其有用,确保数据可以正确地在不同的上下文和操作中使用。在标题和描述中提到的转换函数有多种,如...

    ORACLE数据库误操作执行了DELETE,该如何恢复数据?(新)

    这里使用了`TO_TIMESTAMP`函数将字符串转换为时间戳类型,并与表中的时间戳字段进行比较,从而获取误删除操作之前的数据记录。 #### 三、使用Flashback技术恢复数据 Oracle的Flashback功能是恢复误删除数据的有效...

    oracle数据泵的使用

    Oracle 数据泵是一种高效的数据迁移工具,主要用于数据库之间数据与元数据的快速迁移。它支持跨平台迁移,能够实现本地或远程的数据复制,并且具备较高的性能优势。在 Oracle 10g 之前,我们通常使用 `EXP` 和 `IMP`...

    LogMiner的使用

    **LogMiner**是Oracle数据库提供的一种强大工具,主要用于分析重做日志文件(在线重做日志和归档重做日志),以获取数据库中发生的事务详情。这对于进行数据库逻辑恢复、审计以及历史数据分析等方面非常有用。 ####...

Global site tag (gtag.js) - Google Analytics