Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: how to dump and comprehend a rollback block

Re: how to dump and comprehend a rollback block

From: Pete Finnigan <pete_at_petefinnigan.com>
Date: Wed, 2 Jul 2003 11:49:04 +0100
Message-ID: <iZfQlYBgirA$EwxS@peterfinnigan.demon.co.uk>


Hi

Norman posted a link to the Oracle faq in 2002 as follows http://www.jlc omp.demon.co.uk/faq/blockdump.html that shows how to dump a single block or multiple blocks.

I also knew of an undocumented way to do it:

obtain a DBA (data block address) - you can use file number and block number and dbms_utility for example:

exec dbms_output.put_line(dbms_utility.make_data_block_address(1,7));

and then feed the number returned to

alter session set events 'immediate trace name blockdump level {address from above}';

I am not sure that this will work on later versions of Oracle but you can try it. It should create a trace in user_dump_dest. Remember that block dumps are not too readable and considered internal information by Oracle for use by support.

You could also use LogMiner (can be used on redo logs but much better on archive logs) and dump out the transaction that way. See Toms book page 1097 for a section detailing how to use the packages. It is quite easy really, create a dictionary, find the log you need and load it and start log miner. Then you can query the contents from v$logmnr_contents.

You could also look at raw redo. There is a good paper at http://www.ora faq.com/papers/redolog.pdf showing how to do this.

hth

kind regards

Pete

-- 
Pete Finnigan
email:pete_at_petefinnigan.com
Web site: http://www.petefinnigan.com - Oracle security audit specialists
Book:Oracle security step-by-step Guide - see http://store.sans.org for details.
Received on Wed Jul 02 2003 - 05:49:04 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US