zoukankan      html  css  js  c++  java
  • [bbk4785] 第33集 第三章 Flashback Table 10

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

    实验目的:使用DBMS_FLASHBACK.TRANSACTION_BACKOUT回退事务

    实验步骤:

      1、emp-insert into-empno=1

      2、emp-insert into-empno=2

      3、flashback transaction query--定位

      4、flashback transaction--recover

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

    SQL> conn SCOTT/TIGER
    Connected.
    SQL> create table emp3 as select * from emp;
    
    Table created.
    
    SQL> select empno,ename,sal from emp3;
    
         EMPNO ENAME             SAL
    ---------- ---------- ----------
          7369 SMITH             800
          7499 ALLEN            1600
          7521 WARD             1250
          7566 JONES            2975
          7654 MARTIN           1250
          7698 BLAKE            2850
          7782 CLARK            2450
          7788 SCOTT            3000
          7839 KING             5000
          7844 TURNER           1500
          7876 ADAMS            1100
    
         EMPNO ENAME             SAL
    ---------- ---------- ----------
          7900 JAMES             950
          7902 FORD             3000
          7934 MILLER           1300
    
    14 rows selected.
    
    SQL> insert into emp3(empno,ename,sal) values(1,'zhangsan1',10);
    
    1 row created.
    
    SQL> commit;
    
    Commit complete.
    
    SQL> insert into emp3(empno,ename,sal) values(2,'zhangsan2',20);
    
    1 row created.
    
    SQL> commit;
    
    Commit complete.
    SQL> select xid,to_char(commit_timestamp,'yyyy-mm-dd hh24:mi:ss') commit_timestamp,operation,undo_sql from flashback_transaction_query where table_owner = 'SCOTT' and table_name = 'EMP3';
    
    XID              COMMIT_TIMESTAMP    OPERATION    UNDO_SQL
    ---------------- ------------------- ------------ ----------------------------------------
    02000B00F9080000 2013-05-17 19:44:16 INSERT       delete from "SCOTT"."EMP3" where ROWID =
                                                       'AAATn7AAEAAABCFAAA';
    
    07001D0020080000 2013-05-17 19:44:34 INSERT       delete from "SCOTT"."EMP3" where ROWID =
                                                       'AAATn7AAEAAABCFAAB';
    SQL> conn /as sysdba
    Connected.
    SQL> 
    1 DECLARE 2 V_XID sys.XID_ARRAY; 3 BEGIN 4 V_XID :=SYS.XID_ARRAY('07001D0020080000'); 5 DBMS_FLASHBACK.TRANSACTION_BACKOUT(1,V_XID); 6* END; SQL> / PL/SQL procedure successfully completed.
    SQL> commit;
    
    Commit complete.
  • 相关阅读:
    javascript 事件冒泡
    Java 理论与实践: 正确使用 Volatile 变量
    Concurrency,Java 并发
    POJ2379 ACM Rank Table 模拟题
    HDU1711Number Sequence KMP
    POJ1061 青蛙的约会 扩展GCD
    HDU2523 SORT AGAIN HASH
    HDU2087剪花布条 KMP
    HDU3736 Cyclic Nacklace KMP
    HDU1709The Balance 母函数
  • 原文地址:https://www.cnblogs.com/arcer/p/3084324.html
Copyright © 2011-2022 走看看