oracle flashback特性(1.4)--閃回查詢之Transaction query
Flashback的事務查詢是透過查詢flashback_transaction_query檢視來實現的。透過查詢該檢視能夠獲得一些事務執行時的資訊,甚至包括UNDO語句。
4、Transaction query事務查詢
Flashback的事務查詢是透過查詢flashback_transaction_query檢視來實現的。透過查詢該檢視能夠獲得一些事務執行時的資訊,甚至包括UNDO語句。
下面做個演示,首先刪除一條資料:
JSSWEB> select *from jss_tb1;
ID VL
---------- --------------------
5 E
6 F
7 G
8 H
9 I
11 K
12 L
13 M
14 N
15 O
116 P
117 Q
118 R
119 S
120 T
10 J
已選擇16行。
JSSWEB> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
413946
JSSWEB> delete jss_tb1 where id<3;
已刪除0行。
JSSWEB> rollback;
回退已完成。
JSSWEB> delete jss_tb1 where id=5;
已刪除 1 行。
JSSWEB> commit;
提交完成。
JSSWEB> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
413959
Flashback_transaction_query馬上閃亮登場,大家鼓掌:
JSSWEB> select xid,commit_scn,commit_timestamp,operation,undo_sql
2 from flashback_transaction_query q where q.xid in(
3 select versions_xid from jss_tb1 versions between scn 413946 and 413959);
XID COMMIT_SCN COMMIT_TIMESTAMP OPERATION UNDO_SQL
---------------- ---------- ------------------- ------------ ------------------------------------------------------------
05002F0082000000 413958 2008-06-04 21:32:02 DELETE insert into "JSS"."JSS_TB1"("ID","VL") values ('5','E');
05002F0082000000 413958 2008-06-04 21:32:02 BEGIN
注:由於事務ID是儲存在版本查詢中,因此我們需要透過版本查詢來關聯出flashback的事務資訊,這也是前面操作前要透過dbms_flashback包取scn的原因。
上述的查詢結果已經清晰的向我們展示了我們所做的操作以及操作的時間等(實際執行的語句該檢視並沒有記錄,只能透過undo_sql和operation推測),隨著我們將事務範圍的不斷擴大,我們可以持續向前翻閱曾經做過的操作。當然,實際使用的時候需要注意,由於該檢視儲存記錄量較大(究竟有多大呢,目前尚未找到相關文件有明確說明,初步預計,應該與smon_scn_time的儲存規則有關係),查詢的時候建議透過關鍵列過濾,比如logon_user啦,table_name或table_owner之類的,這麼比起來這項操作倒確實與logminer非常想像,這簡直就是個活的logminer啊,雖然只是一段時間內的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3907/viewspace-1009370/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 全面學習oracle flashback特性(1.4)--閃回查詢之Transaction queryOracle
- 【徵文】全面學習oracle flashback特性(1.4)--閃回查詢之Transaction queryOracle
- 【閃回特性之閃回事務查詢】Flashback Transaction Query
- [閃回特性之閃回版本查詢]Flashback Version Query
- Flashback Query閃回查詢
- oracle flashback特性(1.2)--閃回查詢之As of scnOracle
- 聊聊閃回事務查詢Flashback Transaction Query
- oracle flashback特性(1.1)--閃回查詢之As of timestampOracle
- 閃回版本查詢(Flashback Version Query)
- oracle flashback特性(1.5)--閃回查詢之制約因素Oracle
- 聊聊閃回版本查詢Flashback Version Query
- 全面學習oracle flashback特性(1.2)--閃回查詢之As of scnOracle
- 全面學習oracle flashback特性(1.1)--閃回查詢之As of timestampOracle
- 【徵文】全面學習oracle flashback特性(1.2)--閃回查詢之As of scnOracle
- 使用FLASHBACK_TRANSACTION_QUERY查詢回滾事務SQLSQL
- 全面學習oracle flashback特性(1.5)--閃回查詢之制約因素Oracle
- 【徵文】全面學習oracle flashback特性(1.1)--閃回查詢之As of timestampOracle
- 【閃回特性之閃回查詢】使用閃回查詢(select as of)
- 【徵文】全面學習oracle flashback特性(1.5)--閃回查詢之制約因素Oracle
- 【Flashback】使用檢視快速獲得Flashback Query閃回查詢資料
- Oracle 閃回特性(FLASHBACK DATABASE)OracleDatabase
- Oracle閃回技術--Flashback Version QueryOracle
- Oracle10g的Flashback之Flashback Transaction QueryOracle
- flashback技術之---flashback Transaction Query
- Oracle9i Flashback Query 閃回查詢總結 --- (通過SCN恢復)Oracle
- oracle10g之flashback version query 和flashback transaction query 實驗Oracle
- flashback query閃回資料
- 閃回查詢之閃回版本查詢
- 閃回查詢之閃回表查詢
- 閃回之 Flashback Query (dml表、過程、函式、包等)、Flashback version Query函式
- 對錶誤操作的閃回恢復--flashback_transaction_query檢視
- flashback總結六之Flashback_Transaction_Query
- Oracle9i,.10g 閃回查詢(flashback)Oracle
- Oracle Flashback query查詢的侷限Oracle
- oracle 10g flashback version query 和 flashback transaction query實驗Oracle 10g
- oracle閃回查詢Oracle
- oracle 閃回查詢Oracle
- oracle 閃回 flashbackOracle