您现在的位置: 电子商务模式 >> 电子商务技术 >> 数据 >> [EB技术]正文  显示方式: 

Oracle 10g的闪回查询概述 - 昊的文章
http://tech.caneb.com/ 时间:2006-12-29 9:21:57 点击数:   电子商务模式[技术]频道 

今日不可不关注的电子商务技术资讯:

【文章简介】 Oracle10g的闪回查询概述与Oracle9i相比Oracle10g的Flashback有了非常大的改进,从普通的FlashbackQuery发展到了多种形式,主要表现在如下几方面新特性:1、FlashbackDatabaseOracleFlashbackDatabase特性允许通过SQL语句FlashbackDatabase语句,让数据库前滚到当前的前一个时间点或者SCN,而不需要做时间

【文章正文】列versions_xid显示了更改该行的事务标识符。

当然,除了分析以上所有的变更之外,可以根据需要指定时间段,如显示在2005-05-07时间在15:30到16:30之间test表的所有变更。


SQL>select id from test
versions between timestamp to_date(’2005-05-07 15:30:00’,’
yyyy-mm-dd hh24:mi:ss’) and to_date(’2005-05-07 16:30:00’,’
yyyy-mm-dd hh24:mi:ss’)


5、Flashback Transaction Query

Oracle Flashback Transaction Query特性确保检查数据库的任何改变在一个事务级别,可以利用此功能进行诊断问题、性能分析和审计事务。它其实是Flashback Version Query查询的一个扩充,Flashback Version Query说明了可以审计一段时间内表的所有改变,但是也仅仅是能发现问题,对于错误的事务,没有好的处理办法。而Flashback Transaction Query提供了从FLASHBACK_TRANSACTION_QUERY视图中获得事务的历史以及Undo_sql(回滚事务对应的sql语句),也就是说审计一个事务到底做了什么,甚至可以回滚一个已经提交的事务。

例:Flashback Transaction Query的操作实例。

(1)在test表中删除记录,获得事务的标识XID,然后提交。


SQL>delete from test where id=2;
SQL>select xid from v$transaction;
XID
----------------
04001200AE010000
SQL>commit;


在测试中方便起见,在事务没有提交的时候,获得事务的XID为04001F0035000000。实际情况下,不可能去跟踪每个事务,想要获得已提交事务的XID,就必须通过上面的Flashback Version Query。

(2)进行Flashback Transaction Query


SQL>select * from FLASHBACK_TRANSACTION_QUERY
where xid=’04001F0035000000’;
UNDO_SQL
insert into "FLASHTEST"."TEST"("ID") values (’2’);


注意:这个删除语句对应的是1个Insert语句,如果想回滚这个事务,执行这个Insert语句即可。

可以看到,Flashback Transaction Query主要用于审计一个事务,并可以回滚一个已经提交的事务。如果确定出错的事务是最后一个事务,我们利用Flashback Table或者Flashback Query就可以解决问题。但是,如果执行了一个错误的事务之后,又执行了一系列正确的事务,那么上面的方法就无能为力,利用Flashback Transaction Query可以查看或回滚这个错误的事务 



上一页  [1] [2] [3] 


关键词:数据库
阅读本站更多关于:“Oracle 10g的闪回查询概述 - 昊的文章”的文章>>>>
作者:昊的专栏 文章来源:CSDN
[EB技术]录入:北极星    责任编辑:北极星 

  窄告信息
电子商务辩论台
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
电子商务模式网站(www.CanEb.com)版权与免责声明:
① 本网转载其他媒体、网站文章是为传播更多的信息,此类文章不代表本网观点,也不对其真实性负责,本网不承担此类文章侵权行为的连带责任。
② 在本网论坛(BBS)博客(Blog)网络硬盘(WebDisk)上发表言论或上传、收藏文件者,责任自负。
③ 如您因版权等问题需要与本网联络,请在30日内联系 caneb_com@yahoo.com.cn
④ 凡本网原创文章(包括论坛、博客等),欢迎转载,但务必注明来自本网,且需注明引用网址。
焦点图片
今日博客
电子商务模式网站意见反馈留言板