oracle之flashback深入研究(七)
lashback_transaction_query where xid=hextoraw('13001300DB000000');
XID LOGON_USER START_SCN OPERATION TABLE_NAME ROW_ID UNDO_SQL
---------------- ------------------------------ ---------- -------------------------------- -------------------------------------------------------------------------------- ------------------- --------------------------------------------------------------------------------
13001300DB000000 RHYS 0 UNKNOWN T1
13001300DB000000 RHYS 0 BEGIN
Executed in 0.063 seconds
SQL>
另外一个问题就来了,这个查询过程也忒慢了吧。因为xid为raw类型。这时候为了提高查询速度使用hextoraw进行转换,使用内部索引来提高查询速度。
eg:
SQL> set autotrace on
SQL> select xid,logon_user,start_scn,operation,table_name,row_id,undo_sql from flashback_transaction_query where xid=hextoraw('0B001600DF000000');
XID LOGON_USER START_SCN OPERATION
---------------- ------------------------------ ---------- --------------------------------
TABLE_NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ROW_ID
-------------------
UNDO_SQL
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0B001600DF000000 SYS 11211144 UPDATE
T1
AAASCgAAFAAAACHAAF
update "SYS"."T1" set "ID" = NULL where ROWID = 'AAASCgAAFAAAACHAAF';
XID LOGON_USER START_SCN OPERATION
---------------- ------------------------------ ---------- --------------------------------
TABLE_NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ROW_ID
-------------------
UNDO_SQL
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0B001600DF000000 SYS 11211144 BEGIN
Elapsed: 00:00:00.03
Execution Plan
----------------------------------------------------------
Plan hash value: 1747778896
---------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2197 | 0 (0)| 00:00:01 |
|* 1 | FIXED TABLE FIXED INDEX| X$KTUQQRY (ind:1) | 1 | 2197 | 0 (0)| 00