zoukankan      html  css  js  c++  java
  • 闪回版本查询

    闪回版本查询

    1. 创建测试案例

    sqlplus / as sysdba
    scott@ORCL> select * from SCOTT.emp where sal=1300;

        EMPNO ENAME               JOB                       MGR HIREDATE                   SAL       COMM     DEPTNO
    ---------- -------------------- ------------------ ---------- ------------------- ---------- ---------- ----------
         7934 AAA                 CLERK                    7782 1982-01-23 00:00:00       1300                    10

    scott@ORCL> update SCOTT.emp set empno=7910 ,ename='ABC' where SAL=1300;

    1 row updated.

    scott@ORCL> commit;

    Commit complete.

    scott@ORCL> select * from SCOTT.emp where sal=1300;

        EMPNO ENAME               JOB                       MGR HIREDATE                   SAL       COMM     DEPTNO
    ---------- -------------------- ------------------ ---------- ------------------- ---------- ---------- ----------
         7910 ABC                 CLERK                    7782 1982-01-23 00:00:00       1300                    10

    2. 闪回版本查询

    SQLPLUS / AS SYSDBA
    COL VERSIONS_STARTTIME FOR A25
    COL VERSIONS_ENDTIME FOR A25

    SELECT versions_startscn,
          versions_starttime,
          versions_endscn,
          versions_endtime,
          versions_xid,
          versions_operation,
          empno,
          ename
     FROM scott.emp VERSIONS BETWEEN TIMESTAMP SYSDATE - 5 / 1440 AND SYSDATE --时间注意调整
    WHERE sal = 1300;

    VERSIONS_STARTSCN VERSIONS_STARTTIME       VERSIONS_ENDSCN VERSIONS_ENDTIME         VERSIONS_XID     VE     EMPNO ENAME
    ----------------- ------------------------- --------------- ------------------------- ---------------- -- ---------- --------------------
             1850518 26-JUN-19 06.57.40 AM                                               09000000FD040000 U        7910 ABC
                                                       1850518 26-JUN-19 06.57.40 AM                               7934 AAA                            7934 AAA

    3. 闪回表到历史版本

    SQLPLUS / AS SYSDBA
    ALTER TABLE SCOTT.EMP ENABLE ROW MOVEMENT;
    FLASHBACK TABLE SCOTT.EMP TO SCN 1850517;
    SELECT * FROM SCOTT.EMP WHERE SAL=1300;
    --执行结果
    sys@ORCL> ALTER TABLE SCOTT.EMP ENABLE ROW MOVEMENT;

    Table altered.

    sys@ORCL> FLASHBACK TABLE SCOTT.EMP TO SCN 1850517; --注意这里的SCN和前面查询的SCN

    Flashback complete.

    sys@ORCL> SELECT * FROM SCOTT.EMP WHERE SAL=1300;

        EMPNO ENAME               JOB                       MGR HIREDATE                   SAL       COMM     DEPTNO
    ---------- -------------------- ------------------ ---------- ------------------- ---------- ---------- ----------
         7934 AAA                 CLERK                    7782 1982-01-23 00:00:00       1300                    10

    可见数据已经恢复到指定版本

    参考

    【诗檀学院】ORACLE 11g OCM考试学习材料-手动实操课程

  • 相关阅读:
    4、Java基本数据类型
    3、Java 对象和类
    2、Java 基础语法标识符、修饰符、变量、 数组、枚举、关键字
    1、Java 开发环境配置
    近期目标
    Java泛型是什么?实战demo
    Java高级篇XML和正则表达式
    Java高级篇反射和注解
    Java高级篇 JVM
    JavaScript执行顺序
  • 原文地址:https://www.cnblogs.com/plluoye/p/11097013.html
Copyright © 2011-2022 走看看