设为首页 加入收藏

TOP

闪回事务查询Flashback Transaction Query(二)
2015-11-10 12:17:38 来源: 作者: 【 】 浏览:13
Tags:事务 查询 Flashback Transaction Query
QL的存在,就给用户提供一种手工逻辑恢复数据的能力。注意:如果supplemental log data不开启,这个数据是不会显示的。


下面借助flashback version query,检查一下刚刚修改。


SQL> select versions_xid xid,versions_startscn, versions_endscn, versions_operation, test.* from test versions between scn minvalue and maxvalue;


XID? ? ? ? ? ? ? VERSIONS_STARTSCN VERSIONS_ENDSCN VERSIONS_OPERATION EMPNO? ? ? SAL


---------------- ----------------- --------------- ------------------ ----- ---------


0900130035060000? ? ? ? ? 1939857? ? ? ? ? ? ? ? U? ? ? ? ? ? ? ? ? 7369? ? 100.00


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1939857? ? ? ? ? ? ? ? ? ? 7369? ? 800.00


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 7499? 1600.00


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 7521? 1250.00


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?


(篇幅所限,有删减…..)


15 rows selected


提供的undo_sql,是可以直接执行的。


SQL> update "SYS"."TEST" set "SAL" = '800' where ROWID = 'AAAV4EAABAAARfpAAA';


1 row updated


SQL> commit;


Commit complete


SQL> select versions_xid xid,versions_startscn, versions_endscn, versions_operation, test.* from test versions between scn minvalue and maxvalue;


XID? ? ? ? ? ? ? VERSIONS_STARTSCN VERSIONS_ENDSCN VERSIONS_OPERATION EMPNO? ? ? SAL


---------------- ----------------- --------------- ------------------ ----- ---------


07000500D6050000? ? ? ? ? 1940037? ? ? ? ? ? ? ? U? ? ? ? ? ? ? ? ? 7369? ? 800.00


0900130035060000? ? ? ? ? 1939857? ? ? ? 1940037 U? ? ? ? ? ? ? ? ? 7369? ? 100.00


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1939857? ? ? ? ? ? ? ? ? ? 7369? ? 800.00


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 7499? 1600.00


最后确定一下数据行和事务关系。


SQL> delete test;


14 rows deleted


SQL> select xid from v$transaction;


XID


----------------


060016002F060000 –事务XID


SQL> commit;


Commit complete


每条对应数据行,都存在与flashback_transaction_query中。


SQL> select xid, start_scn, commit_scn, row_id, operation,undo_sql from flashback_transaction_query where table_owner='SYS' and table_name='TEST';


XID? ? ? ? ? ? ? START_SCN COMMIT_SCN ROW_ID? ? ? ? ? ? ? OPERATION? ? ? ? ? ? ? ? ? ? ? ? UNDO_SQL


---------------- ---------- ---------- ------------------- -------------------------------- --------------------------------------------------------------------------------


060016002F060000? ? 1940047? ? 1940079 AAAV4EAABAAARfpAAN? DELETE? ? ? ? ? ? ? ? ? ? ? ? ? insert into "SYS"."TEST"("EMPNO","SAL") values ('7934','1300');


060016002F060000? ? 1940047? ? 1940079 AAAV4EAABAAARfpAAM? DELETE? ? ? ? ? ? ? ? ? ? ? ? ? insert into "SYS"."TEST"("EMPNO","SAL") values ('7902','3000');


060016002F060000? ? 1940047? ? 1940079 AAAV4EAABAAARfpAAL? DELETE? ? ? ? ? ? ? ? ? ? ? ? ? insert into "SYS"."TEST"("EMPNO","SAL") values ('7900','950');


060016002F060000? ? 1940047? ? 1940079 AAAV4EAABAAARfpAAK? DELETE? ? ? ? ? ? ? ? ? ? ? ? ? insert into "SYS"."TEST"("EMPNO","SAL") values ('7876','1100');


060016002F060000? ? 1940047? ? 1940079 AAAV4EAABAAARfpAAJ? DELETE? ? ? ? ? ? ? ? ? ? ? ? ? insert into "SYS"."TEST"("EMPNO","SAL") values ('7844','1500');


060016002F060000? ? 1940047? ? 1940079 AAAV4EAABAAARfpAAI? DELETE? ? ? ? ? ? ? ? ? ? ? ? ? insert into "SYS"."TEST"("EMPNO","SAL") values ('7839','5000');


060016002F060000? ? 1940047? ? 1940079 AAAV4EAABAAARfpAAH? DELETE? ? ? ? ? ? ? ? ? ? ? ? ? insert into "SYS"."TEST"("EMPNO","SAL") values ('7788','3000');


060016002F060000? ? 1940047? ? 1940079 AAAV4EAABAAARfpAAG? DELETE? ? ? ? ? ? ? ? ? ? ? ? ? insert into "SYS"."TEST"("EMPNO","SAL") values ('7782','2450');


060016002F060000? ? 1940047? ? 1940079 AAAV4EAABAAARfpAAF? DELETE? ? ? ? ? ? ? ? ? ? ? ? ? insert into "SYS"."TEST"("EMPNO","SAL") values ('7698','2850')

首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇闪回版本查询Flashback Version Q.. 下一篇SQLite3 设置插入触发器

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: