Friday, 19 September 2014

Dumping Redo Logs



To identify the current redo log use
    SELECT member FROM v$logfile
    WHERE group# = 
    (
        SELECT group# FROM v$log
        WHERE status = 'CURRENT'
    );
To dump a redo log file use
    ALTER SYSTEM DUMP LOGFILE 'FileName';
e.g.
    ALTER SYSTEM DUMP LOGFILE 'R:\Oracle\Oradata\JD92001\Redo01.log';
The syntax of this statement is as follows
    ALTER SYSTEM DUMP LOGFILE 'FileName'
        SCN MIN MinimumSCN
        SCN MAX MaximumSCN
        TIME MIN MinimumTime
        TIME MAX MaximumTime
        LAYER Layer
        OPCODE Opcode
        DBA MIN FileNumber . BlockNumber
        DBA MAX FileNumber . BlockNumber
        RBA MIN LogFileSequenceNumber . BlockNumber
        RBA MAX LogFileSequenceNumber . BlockNumber;
The minimum and maximum SCN is a decimal number
The minimum and maximum time is a decimal number representing the number of seconds since midnight 01Jan1988. These are calculated using the following formula
    time = (((((yyyy - 1988)) * 12 + mm - 1) * 31 + dd - 1) * 24 + hh) * 
           60 + mi) * 60 + ss;
where

yyyy
Year
&nbsp
mm
month
01-12
dd
day
01-31
hh
hour
00-23
mi
minute
00-59
ss
second
00-59
This is the same formula that is used to represent time within the redo log
The layer and opcode are those used to indicate specific operations within the redo log e.g. LAYER 5 OPCODE 4 is an undo segment header commit operation
Note that there must be spaces around the periods in the DBA and RBA.
See Metalink Note 1031381.6 for further examples

No comments:

Post a Comment