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
Comments are Disabled