conn scott/tiger0520
最初的数据:
SQL> select ename,job,sal from emp where empno=7369;
ENAME JOB SAL
---------- --------- ----------
SMITH CLERK 800
第一次
SQL> update emp set sal=sal+200 where empno=7369;
1 row updated.
SQL> commit;
Commit complete.
第二次
SQL> update emp set sal=sal+200 where empno=7369;
1 row updated.
SQL> commit;
Commit complete.
第三次
SQL> update emp set sal=sal+200 where empno=7369;
1 row updated.
SQL> commit;
Commit complete.
最终的数据:
SQL> select ename,job,sal from emp where empno=7369;
ENAME JOB SAL
---------- --------- ----------
SMITH CLERK 1400
此时,我们可以通过闪回版本查询查看,执行如下查询语句:SQL> select to_char(versions_starttime,'yyyy-mm-dd hh24:mi:ss')
2 as starttime,versions_xid,ename,job,sal
3 from emp versions between timestamp
4 sysdate-10/1440 and sysdate where empno=7369;
STARTTIME VERSIONS_XID ENAME JOB SAL
------------------- ---------------- ---------- --------- ----------
2016-09-29 23:30:07 0D001D009B000000 SMITH CLERK 1400
2016-09-29 23:29:01 14001200A2000000 SMITH CLERK 1200
2016-09-29 23:26:31 0F000100A3000000 SMITH CLERK 1000
SMITH CLERK 800
VERSIONS_STARTSCN
VERSIONS_STARTTIME
该记录操作时的 scn 或时间,如果为空,表示该行记录是在查询范围外创
建的。
VERSIONS_ENDSCN
VERSIONS_ENDTIME
该记录失效时的 scn 或时间,如果为空,说明记录当前时间在当前表内存
在,或者已经被删除了,可以配合着 VERSIONS_OPERATION 列来看,如
果 VERSIONS_OPERATION 列值为 D,说明该列已被删除,如果该列为
空,则说明记录在这段时间无操作。
VERSIONS_OPERATION
对该行执行的操作:I 表示 insert,D 表示 delete,U 表示 update。
提示:对于索引键的 update 操作,版本查询可能会将其识别成两个操
作:DELETE 和 INSERT。
VERSIONS_XID
该操作的事务 ID
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31392094/viewspace-2125776/ ,如需转载,请注明出处,否则将追究法律责任。