闪回版本查询
闪回版本查询提供了一个审计/检查行改变的查询功能,通过它可以查找到
所有已经提交了的行记录。
语法
select column_name【, column_name,….】
from table_name
versions
between 【scn|timestamp】【expr| minvalue】
and【expr| maxvalue】as of【scn | timestamp】expr;
说明:
column name:列名。
table_ name:表名。
between…and: 时间段。
scn:系统改变号。
timestamp:时间戳。
as of:表示恢复单个版本。
maxvalue:最大值。
minvalue:最小值。
expr:指定一个值或表达式。
案列
测试数据
create table sct3(
id number(4),
name varchar2(20)
);
insert into sct3 values(1,'lili');
commit;
insert into sct3 values(2,'lilic');
commit;
update sct3 set name='yuyuanshang' where id=2;
commit;
insert into sct3 values(3,'lilid');
commit;
闪回版本查询案例1
select id, name,versions_operation,versions_starttime,versions_endtime
from sct3
versions between timestamp minvalue and maxvalue
order by id,versions_endtime;
闪回版本查询2
select id, name,versions_operation,versions_starttime,versions_endtime
from sct3
versions
between timestamp to_date('2017-06-06 23.48.09','yyyy-mm-dd hh24:mi:ss') and to_date('2017-06-06 23.48.27','yyyy-mm-dd hh24:mi:ss')
order by id,versions_endtime;
注意
versions_operation: 操作类型
versions_xid: 事务编号
versions_starttime: 开始时间
versions_endtime: 结束时间,如果有值,证明这记录已非当前记录
versions_startscn: 开始SCN号
versions_endscn: 结束SCN号 如果有值,证明这记录已非当前记录