flashback總結六之Flashback_Transaction_Query

zhangshengdong發表於2011-11-28

Flashback Transaction Query
     Flashback Transaction Query也是使用UNDO資訊來實現。利用這個功能可以檢視某個事務執行的所有變化,它需要訪問
flashback_transaction_query 檢視,這個檢視的XID列代表事務ID,利用這個ID可以區分特定事務發生的所有資料變化。

 

*******************************個人操作****************************
insert into scott.emp values(7970,'lu','CLERK',7902,to_date('2011-09-09','YYYY-mm-dd'),'800','300',20);

commit;

SQL> Select xid,operation,commit_scn,undo_sql
  2  from flashback_transaction_query
  3  where xid in (Select versions_xid from scott.emp versions between scn minva
lue and maxvalue);

XID              OPERATION                        COMMIT_SCN
---------------- -------------------------------- ----------
UNDO_SQL
--------------------------------------------------------------------------------

06001E00A8040000 INSERT                              3479779
delete from "SCOTT"."EMP" where ROWID = 'AAANMlAAEAAAAG8AAA';

06001E00A8040000 BEGIN                               3479779

(可以立即檢視到你剛剛那句之後的commit _scn和undosql語句)
 
可以執行undo語句來刪除你剛剛插入的記錄。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26446098/viewspace-712223/,如需轉載,請註明出處,否則將追究法律責任。

相關文章