• [bbk4732] 第25集 第三章 Flashback Table 02


    Flashback Version Query

     

    /******************************************/

    实验:跟踪数据不同版本之间的事物变化

    目的:利用flashback query data,使用dml进行数据恢复

    /******************************************/

    SQL> show user
    USER is "U2"
    SQL> create table m(id int,name varchar2(10));
    
    Table created.
    
    SQL> insert into m values(0,'arcerzhang');
    
    1 row created.
    
    SQL> commit;
    
    Commit complete.
    
    SQL> insert into m values(1,'maryhu');
    
    1 row created.
    
    SQL> commit;
    
    Commit complete.
    
    SQL> insert into m values(2,'lydiazhang');
    
    1 row created.
    
    SQL> commit;
    
    Commit complete.
    
    SQL> select versions_Xid,name FROM m
      2  VERSIONS BETWEEN scn 4332165 AND 4332242;
    
    VERSIONS_XID     NAME
    ---------------- ----------
    09000600B9080000 lydiazhang
    07001A0008080000 maryhu
    0400010002080000 arcerzhang
    View Code
    SQL> conn /as sysdba
    Connected.
    SQL> !clear
    
    
    SQL> select dbms_flashback.get_system_change_number() from dual;
    
    DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER()
    -----------------------------------------
                                      4332165
    
    SQL> select dbms_flashback.get_system_change_number() from dual;
    
    DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER()
    -----------------------------------------
                                      4332227
    
    SQL> select dbms_flashback.get_system_change_number() from dual;
    
    DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER()
    -----------------------------------------
                                      4332234
    
    SQL> select dbms_flashback.get_system_change_number() from dual;
    
    DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER()
    -----------------------------------------
                                      4332242
    四次SCN号记录

    必须是事务提交的数据,才会记录SCN版本号. 

    SELECT versions_xid,versions_starttime,versions_endtime, name FROM M
    VERSIONS BETWEEN TIMESTAMP TO_DATE('2013-05-16 16:00:00','yyyy-mm-dd hh24:mi:ss') AND TO_DATE('2013-05-16 16:10:00','yyyy-mm-dd hh24:mi:ss') 
    WHERE id = 0;
    
    VERSIONS_XID     VERSIONS_STARTTIME        VERSIONS_ENDTIME          NAME
    ---------------- ------------------------- ------------------------- ----------
    0A00140029080000 16-MAY-13 04.09.11 PM                               arcerzqj
    0400030005080000 16-MAY-13 04.08.56 PM     16-MAY-13 04.09.11 PM     arcerzhang
    06001000C5080000 16-MAY-13 04.08.47 PM     16-MAY-13 04.08.56 PM     arcer
                                               16-MAY-13 04.08.47 PM     arcerzhang
    按照时间跟踪数据版本变化
  • 相关阅读:
    SQL生成上百万条数据 及分页 长沙
    aspx或ashx里面多个方法 进行ajax调用 长沙
    C# IO操作,文件 文件夹 长沙
    Reperter多层嵌套 长沙
    解读WPF中事件
    WPF 神话之Binding对象二
    WPF 神话之Binding对象一
    明白就好
    导出Execl和读取Execl文件
    新加入博客园,嘿嘿
  • 原文地址:https://www.cnblogs.com/arcer/p/3082070.html
Copyright © 2020-2023  润新知