eygle.com   eygle.com
eygle.com  
 

« 恩墨科技为某企业SAP数据库提供紧急援助服务 | Blog首页 | mon_mods$ is used for DML monitoring »

使用ora_rowscn识别误操作数据时间点

作者:eygle |【转载时请以超链接形式标明文章和作者信息及本声明
链接:
今天,客户说有几个数据表误操作导入了一批新的数据,现在需要把这些数据找出来。

如果没有明显的字段可以识别,那么ora_rowscn可以作为一个参考,以下这个查询就可以通过SCN和数据识别,将后来增加的记录找出来:
SQL> select gro_id,ora_rowscn from bms_group;

    GRO_ID ORA_ROWSCN
---------- ----------
       284  584845289
       322  584845289
       302  584845289
         1  584845289
         3  584845289
         8  584845289
         5  584845289
         6  584845289
         7  584845289
       282  584845289
       362  584845289

    GRO_ID ORA_ROWSCN
---------- ----------
       262  584845289
       342  584845289
       284  612073346
       322  612073346
       302  612073346
         1  612073346
         3  612073346
         8  612073346
         5  612073346
         6  612073346
         7  612073346

    GRO_ID ORA_ROWSCN
---------- ----------
       282  612073346
       362  612073346
       262  612073346
       342  612073346

后者的SCN转换一下,正好是误操作的时间:
SQL> select scn_to_timestamp(612073346) from dual;

SCN_TO_TIMESTAMP(612073346)
---------------------------------------------------------------------------
07-SEP-09 05.11.11.000000000 PM       

而前者的SCN则来自历史时间,可以信赖:
SQL> select scn_to_timestamp(584845289) from dual;

SCN_TO_TIMESTAMP(584845289)
---------------------------------------------------------------------------
03-SEP-09 04.45.13.000000000 PM

-The End-


历史上的今天...
      >> 2008-09-08文章:
      >> 2007-09-08文章:
      >> 2005-09-08文章:
             月到中秋
------
这篇 【使用ora_rowscn识别误操作数据时间点】来自 eygle.com | CSDN网摘| del.icio.us|Google订阅 | 鲜果订阅 | 抓虾订阅

By eygle on 2009-09-08 08:09 | Comments (4) | Posted to Backup&Recovery | Case | Edit |

相关文章 随机文章
  • Oracle HowTo:如何更改数据库的SCN?
  • what is SMON_SCN_TIME ?
  • 断电故障导致 ASM DiskGroup 故障及恢复案例
  • Oracle Wait Events: Wait for scn ack
  • Oracle Database 11g回滚段命名的变化
  • Oracle7.3.4数据库已经启动
    Tom新作《Oracle9i&10g编程艺术》
    中国IT技术精英年会第一天
    如何使用sqlldr的WHEN判断加载数据到不同的数据表
    Baby的第一个生日 - Happy Birthday
    搜索本站:

    留言 (4)

    我在網上查,好像默認情況下,ora_rowscn是基於BLOCK的,就是說同一個BLOCK中的所有行都是同一個ora_rowscn,這樣上面的操作會不會不準確?

    Posted by: vnsoft at September 8, 2009 8:52 AM

    所以要结合数据来判断一下。

    Posted by: eygle Author Profile Page at September 8, 2009 9:26 AM

    你够圆滑.

    参考:
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:517105100346104196

    create table dept
    (deptno, dname, loc, data,
    constraint dept_pk primary key(deptno)
    )
    ROWDEPENDENCIES
    ...;

    Posted by: 木匠 at September 9, 2009 3:33 AM

    除了特定需要,似乎很少有人启用ROWDEPENDENCIES,除了每行需要6个byte的存储空间,不知道对性能还有多大影响。

    Posted by: banping at September 9, 2009 9:10 AM

    发表留言:



    Remember Me?
    (输入验证码后方可评论,谢谢支持)



    CopyRight © 2004~2010 eygle.com, All rights reserved.