Search: For:
Browsing Single Category
www.dbatoolz.com ORACLE DBA Forums Forum › Topic Id: 2532 | Permalink

Undo management "Flashback Version Query"

Topic ID: 2532
Created By: 2007-AUG-03 03:34:20 [Dba_Giri]
Updated By: 2007-AUG-03 15:52:04 [Vitaliy]
Status: Open
Severity: Normal
Read Only: No
8057
2007-AUG-03 03:34:20
User
 
 
Registered On: Jul 2007
Total Posts: 7
Hi..,
I 've deleted a row in the demo1 table, later committed it. Later I 've 
executed the following SQL Statement through Toad 8.6 

Select versions_starttime,versions_endtime,versions_xid,versions_operation,sno 
from demo1 versions between timestamp minvalue and maxvalue order by 
versions_starttime;

I've got a XID value that for that Delete transaction as 040007000C020000, 
immediately I've executed the following SQL statement:
Select undo_sql from flashback_transaction_query where xid='040007000C020000'

my DB default undo_retention is 900

But the responce time of the above SQL Statement is too slow(I've got the 
response for this after 15 minutes), the system is utilising more than 90% of 
CPU resources(I've seen it through my WINDOWS Task Manager, Oracle is installed 
on my machine on Windows OS 
and no other applications are running on this machine, 
this machine configuration is 1GB RAM,P IV AMD athelon(tm) 64 Processor 3200+ 
No body are accessing this Database & system..
Problem might be what can u please explain ..?
8064
2007-AUG-03 15:52:04
Moderator
 
 
Registered On: Mar 2006
Total Posts: 233
Giri,

Make sure to use hextoraw() function when using XID in WHERE clause, example:

   select * from flashback_transaction_query 
    where xid=hextoraw('000100060000111A');

this way ORACLE will use "FIXED TABLE FIXED INDEX X$KTUQQRY (ind:1)" instead of 
FULL table scan.

- Vitaliy