闪回版本查询

闪回版本查询:
一个表中的行在它的生命周期中可能改变多次。闪回版本查询(flashback versions query)允许查看一个
行所有提交的版本(不能查看任何未提交的版本),包括创建和结束每个版本的时间戳。另外,还可以查看创建了任何特定版本的行的事务的事务标识符,然后可以将它用于闪回事务查询。此信息可以通过每个表可用的
许多伪列来提供。伪列是由Oracle在内部附加到行上的列:它们不属于关系数据库的ISO标准,但是它们可能
很有用。一个常见的伪列是行ID:数据库中每一行的唯一标识符,索引中使用它作为返回到表的指针。与闪回
相关的伪列包括:
*versions_startscn:通过insert或update创建此版本的行的scn
*versions_starttime:创建此版本的行的时间戳
*versions_endscn:由于delete或update使此版本的行失效的scn
*versions_endtime:此版本的行失效的时间戳
*versions_xid:创建此版本的行的事务的唯一标识符
*versions_operations:创建此版本的行的事务执行的操作。可以是insert,update或delete
查看伪列,必须在查询中包括versions between关键字。例如:
SQL> select empno,ename,sal,versions_xid,versions_startscn,versions_endscn,versi
ons_operation from emp versions between scn minvalue and maxvalue where
  2  empno=7369;

EMPNO ENAME         SAL VERSIONS_XID     VERSIONS_STARTSCN VERSIONS_ENDSCN V
----- ---------- ------ ---------------- ----------------- --------------- -
 7369 SMITH         800

SQL> select empno,ename,sal,versions_xid,versions_starttime,versions_endtime,
  2  versions_operation from emp versions between timestamp (systimestamp-1/24)
 and systimestamp where empno=7369;
该命令查询:在最近一个小时内存在的员工编号为7369的所有版本。
(注:闪回版本查询不能用于外部表。临时表或v$视图,原因是这些对象都不生成撤销数据)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值