Oracle闪回查询,闪回版本查询与闪回事务查询的使用区别总结

闪回查询Flashback Query:
使用带有AS OF子句的SELECT语句进行闪回查询。闪回查询获取之前的时间点的数据。
语句通过时间戳或SCN显示地引用过去的时间。返回在那个时间点当时已经提交的数据。
闪回查询的使用包括:
1. 恢复丢失的数据、撤销不正确的且已经提交的改变。例如,如果你错误地删除或更新了行并且提交了,可以立即撤销这个错误。
2. 比较当前的数据和早些时候的数据。例如,可以运行一个日报表,来显示数据从昨天到今天的变化。
可以比较单独的行;也可以查看行集合的交集和并集。
3. 查看事务数据在特定的时间的状态。例如,可以验证某一天的帐户余额。
4. 通过消除存储一些类型的临时数据所需要,简化应用程序的设计。Oracle允许你直接从数据库获取过去的数据。
5. 对过去的数据应用打包的应用,例如报告产生工具。
6. 为应用提供了错误改正的自我服务,允许用户undo和改变他们的错误。

闪回版本查询Flashback Version Query:
使用Flashback Version Query  返回在指定时间间隔或SCN间隔内的所有版本,一次commit命令就会创建一个版本。
 
语法如下:
SELECT .....FROM tablename VERSIONS {BETWEEN {SCN | TIMESTAMP} start AND end} 
--start,end可以是时间也可以是scn
Flashback Version Query伪列说明
versions_start{scn|time}  版本开始的scn或时间戳
 
versions_end{scn|time}  版本结束scn或时间戳,如果有值表明此行后面被更改过是旧版本,如果为null,则说明行版本是当前版本或行被删除(即versions_operation值为D)。
 
versions_xid 创建行版本的事务ID
 
versions_operation  在行上执行的操作(I=插入,D=删除,U=更新)

闪回事务查询Flashback Transaction Query:
Flashback Transaction Query实际上是查询的数据字典flashback_transaction_query。可以根据flashback_transaction_query 的undo_sql列值返回数据以前版本。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15498/viewspace-2123872/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15498/viewspace-2123872/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值