zoukankan      html  css  js  c++  java
  • [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
    按照时间跟踪数据版本变化
  • 相关阅读:
    android中kl布局文件加载失败解决办法
    android系统输入按键流程
    linux键值转android键值配置文件
    linux键值到Android键值的转换与自定义
    linux中ioctl的应用与说明
    zabbix邮件告警
    linux 双网关双IP设置
    随笔
    记录一次事故
    python解析.yml/.yaml文件--pyyaml模块(第三方)
  • 原文地址:https://www.cnblogs.com/arcer/p/3082070.html
Copyright © 2011-2022 走看看