闪回版本查询
閃回版本查詢
1. 創建測試案例
sqlplus / as sysdbascott@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 SYSDBACOL 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 SYSDBAALTER 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考試學習材料-手動實操課程
?
轉載于:https://www.cnblogs.com/plluoye/p/11097013.html
總結
- 上一篇: 私人卡一年流水1000万正常吗
- 下一篇: Centos7.6安装redis