zoukankan      html  css  js  c++  java
  • 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;

    提交完成。

  • 相关阅读:
    plsql developer中各个window的作用【转】
    回忆java输入输出流,走出误区
    JDBC中的元数据
    对于Oracle、mysql和sql server中的部分不同理解
    我对数据库事务的理解(MYSQL中)
    关于mysql的备份和恢复
    mysql触发器学习
    mysql存储过程学习
    JavaScript位运算符
    【JavaScript】数组随机排序 之 Fisher–Yates 洗牌算法
  • 原文地址:https://www.cnblogs.com/yiwuya/p/3018969.html
Copyright © 2011-2022 走看看