• 20.1 使用FlashBack 查询实现行级恢复


    (1) 模拟用户误操作

    SQL> conn scott/tiger@demo
    已连接。
    SQL> host date
    当前日期: 2009-02-19 星期四
    输入新日期: (年月日)

    SQL> host time
    当前时间: 16:40:43.29
    输入新时间:

    SQL> select current_scn from v$database;

    CURRENT_SCN
    -----------
        1975467

    SQL> delete from emp where deptno=30;

    已删除6行。

    SQL> commit;

    提交完成。

    (2) 使用 FlashBack 查询取得早期时间点表行数据

    SQL> select ename,sal,job,deptno from emp as of timestamp
      2  to_timestamp('2009-02-19 14:40:43','YYYY-MM-DD HH24:MI:SS')
      3  where deptno=30;

    ENAME             SAL JOB           DEPTNO
    ---------- ---------- --------- ----------
    ALLEN            1600 SALESMAN          30
    WARD             1250 SALESMAN          30
    MARTIN           1250 SALESMAN          30
    BLAKE            2850 MANAGER           30
    TURNER           1500 SALESMAN          30
    JAMES             950 CLERK             30

    已选择6行。

    SQL> select ename,sal,job,deptno from emp as of scn 1975467 where deptno=30;

    ENAME             SAL JOB           DEPTNO
    ---------- ---------- --------- ----------
    ALLEN            1600 SALESMAN          30
    WARD             1250 SALESMAN          30
    MARTIN           1250 SALESMAN          30
    BLAKE            2850 MANAGER           30
    TURNER           1500 SALESMAN          30
    JAMES             950 CLERK             30

    已选择6行。

    (3) 使用 FlashBack 查询恢复表行数据

    SQL> insert into emp select * from emp as of scn 1975467 where deptno=30;

    已创建6行。

    SQL> commit;

    提交完成。

  • 相关阅读:
    【转载】两军问题与Paxos算法 & 动画讲解Paxos算法
    hdu4611 Balls Rearrangement
    [置顶] github简单使用
    set与map容器
    [置顶] C++为什么是C++而不是++C
    HDU 4616 Game (搜索)、(树形dp)
    Just learn how to use the JNI
    HDU 4611 Balls Rearrangement (数学-思维逻辑题)
    冒泡排序改进
    Python基础
  • 原文地址:https://www.cnblogs.com/yiwuya/p/3018969.html
Copyright © 2020-2023  润新知