Summarise redo by object

Here is a Perl script and instructions for summarising a redo log by object. It operates on the formatted dump version of the redo, NOT the actual binary redo log itself. To save needing a lot of disk space for the formatted dump, you can use a named pipe to directly pipe the text from Oracle into the Perl script.

In the instructions below, the SQL*Plus session and the Unix session must be two separate sessions as the Perl will hang until you press Ctrl-C.

This takes a long time so it’s not actually all that practical and please don’t do it anywhere important. Save it for test databases. I’m also not a Perl expert by any means so no guarantees.


SQL> select vp.spid
from v$session vs,
 V$PROCESS vp
where vs.sid = (select sid from v$mystat where rownum = 1)
and vp.addr = vs.paddr;

SPID
————
13229


$ cd /oracle/admin/CNR/udump/
$ mkfifo ora_13229.trc
$ perl redo_summary.pl ora_13229.trc

This session will then wait for data on the pipe

SQL> ALTER SYSTEM DUMP LOGFILE 'filename';

filename should be an archived log file.

Wait until…

Statement processed.

Then Ctrl-C on the perl session

And you’ll get something like this:

       OBJECT_ID  REDO_SIZE
         3081559  131457104
           63261  127620100
         3845955  100570888
         3845956  100565432
           63268  70334108
 NON-OBJECT REDO  44421440
           36990  40602644

Cheers,
Tim

redo_summary

Comments are Disabled