• 闪回版本查询


    闪回版本查询

    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考试学习材料-手动实操课程

  • 相关阅读:
    vue中处理过内存泄露处理方法
    Nuxt2.x项目实战相关问题记录
    Android 7.0+模拟器Fiddler抓包详细教程 fiddler443问题解决办法
    inspeckage
    yile接口
    入坑Vue(二)Node.js环境安装
    入坑Vue(一)简介
    入库Vue(三) vuecli全局安装,创建Vue项目
    入坑vue(三)安装VSCode
    入坑Vue(四) 引用element ui组件,配置登录
  • 原文地址:https://www.cnblogs.com/plluoye/p/11097013.html
Copyright © 2020-2023  润新知