ORA-00354: corrupt redo log block header

Hi Guys,
Need your support to resolve one of the oracle issues,
Below are errors visible in alert.log in oracle,
ORA-16038: log 24 sequence# 660467 cannot be archived
ORA-00354: corrupt redo log block header
ORA-00312: online log 24 thread 1: '/oracle/PRD/origlogB/log_g24_m1.dbf'...
2010-10-03 07:26:12.835 20195 kcrr.c
ORA-16014: log 24 sequence# 660467 not archived, no available
destinations
Below is o/p of archive log list seems to be bit strange,
SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /oracle/PRD/saparch/PRDarch
Oldest online log sequence     660467
Next log sequence to archive   660467
Current log sequence           660576
And some more info,
SQL> SELECT GROUP#, STATUS, MEMBER FROM V$LOGFILE;
    GROUP# STATUS  MEMBER
        28         /oracle/PRD/origlogB/log_g28_m1.dbf
        28         /oracle/PRD/mirrlogB/log_g28_m2.dbf
        27         /oracle/PRD/origlogA/log_g27_m1.dbf
        27         /oracle/PRD/mirrlogA/log_g27_m2.dbf
        26         /oracle/PRD/origlogB/log_g26_m1.dbf
        26         /oracle/PRD/mirrlogB/log_g26_m2.dbf
        25         /oracle/PRD/origlogA/log_g25_m1.dbf
        25         /oracle/PRD/mirrlogA/log_g25_m2.dbf
        24         /oracle/PRD/origlogB/log_g24_m1.dbf
        24         /oracle/PRD/mirrlogB/log_g24_m2.dbf
        23         /oracle/PRD/origlogA/log_g23_m1.dbf
        23         /oracle/PRD/mirrlogA/log_g23_m2.dbf
        22         /oracle/PRD/origlogB/log_g22_m1.dbf
        22         /oracle/PRD/mirrlogB/log_g22_m2.dbf
        21         /oracle/PRD/origlogA/log_g21_m1.dbf
        21         /oracle/PRD/mirrlogA/log_g21_m2.dbf
16 rows selected.
SQL> SELECT GROUP#, SEQUENCE#, MEMBERS, ARCHIVED, STATUS, FIRST_CHANGE# FROM V$LOG;
    GROUP#  SEQUENCE#    MEMBERS ARC STATUS           FIRST_CHANGE#
        21     660571          2 NO  INACTIVE            2.9116E+10
        22     660572          2 NO  INACTIVE            2.9116E+10
        23     660570          2 NO  INACTIVE            2.9116E+10
        24     660467          2 NO  INACTIVE            2.9114E+10
        25     660573          2 NO  ACTIVE              2.9116E+10
        26     660574          2 NO  CURRENT             2.9116E+10
        27     660568          2 NO  INACTIVE            2.9116E+10
        28     660569          2 NO  INACTIVE            2.9116E+10
8 rows selected.
All file exists but still facing issue, no backup is running
Regards,
Yash

Hi,
Instead of the logfile name, try the command with the logfile integer as mentioned below.
alter database clear unarchived logfile group <integer>;
You can get the logfile integer using the view, v$log.
select GROUP#,MEMBERS,STATUS from v$log;
The value for the parameter GROUP# is the logfile integer.
Hope this helps.
Regards,
Varadharajan M

Similar Messages

  • ORA-00354: corrupt redo log block header..urgent

    Hi All,
    i am running into an issue when trying to recover a datafile.
    1). Logs are being applied to the datafile to recover but RMAN is throwing this error:
    ORA-00283: recovery session canceled due to errors
    RMAN-11003: failure during parse/execution of SQL statement: alter database reco
    ver logfile 'H:\ORACLE_ARCHIVE_LOGS\RBS\ARCHIVELOG\2012_04_23\O1_MF_1_13174_7SC4
    P56W_.ARC'
    ORA-00283: recovery session canceled due to errors
    ORA-00354: corrupt redo log block header
    ORA-00353: log corruption near block 32768 change 6715041179 time 04/23/2012 13:
    33:51
    ORA-00334: archived log: 'H:\ORACLE_ARCHIVE_LOGS\RBS\ARCHIVELOG\2012_04_23\O1_MF
    _1_13174_7SC4P56W_.ARC'
    thanks in advance

    bcm@bcm-laptop:~$ oerr ora 353
    00353, 00000, "log corruption near block %s change %s time %s"
    // *Cause:  Some type of redo log corruption has been discovered. This error
    //          describes the location of the corruption. Accompanying errors
    //          describe the type of corruption.
    // *Action: Do recovery with a good version of the log or do incomplete
    //          recovery up to the indicated change or time.
    bcm@bcm-laptop:~$ oerr ora 354
    00354, 00000, "corrupt redo log block header"
    // *Cause:  The block header on the redo block indicated by the accompanying
    //          error, is not reasonable.
    // *Action: Do recovery with a good version of the log or do time based
    //          recovery up to the indicated time. If this happens when archiving,
    //          archiving of the problem log can be skipped by clearing the log
    //          with the UNARCHIVED option. This must be followed by a backup of
    //          every datafile to insure recoverability of the database.

  • How to overcome corrupt redo log block header

    friends, can you tell me any utilities or packages using which i can clean my redo log . Iam encountering this error during recovery of my database
    Nand

    Jafar,
    SQL> recover database using backup controlfile;
    ORA-00279: change 166327733 generated at 04/03/2008 12:06:36 needed for thread
    1
    ORA-00289: suggestion : C:\COLD\ARCHIVES\ARC17966_0616830416.001
    ORA-00280: change 166327733 for thread 1 is in sequence #17966
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    C:\STREDO09.LOG
    ORA-00283: recovery session canceled due to errors
    ORA-00354: corrupt redo log block header
    ORA-00353: log corruption near block 4044 change 166329643 time 04/03/2008
    12:46:45
    ORA-00334: archived log: 'C:\STREDO09.LOG'
    ORA-01112: media recovery not started
    The stredo09.log is the standby redo log. My production server crashed.....Unfortunately the physical standby was also down..before main crashed..(power failure). Iam not able to open the production server.

  • Logmnr/capure error b'coz of corruption of redo log block

    Hi,
    We all know that capture process reads the REDO entries from redo log files or archived log files. Therefore we need to ahev db in ARCHIVELOG mode.
    In alert log file, I found error saying :
    Creating archive destination LOG_ARCHIVE_DEST_1: 'E:\ORACLE\ORADATA\REPF\ARCHIVE\LOCATION01\1_36.ARC'
    ARC0: Log corruption near block 66922 change 0 time ?
    ARC0: All Archive destinations made inactive due to error 354
    Fri Apr 04 12:57:44 2003
    Errors in file e:\oracle\admin\repf\bdump\trishul_arc0_1724.trc:
    ORA-00354: corrupt redo log block header
    ORA-00353: log corruption near block 66922 change 0 time 04/04/2003 11:05:40
    ORA-00312: online log 2 thread 1: 'E:\ORACLE\ORADATA\REPF\ARCHIVE\REDO02.LOG'
    ORA-00312: online log 2 thread 1: 'E:\ORACLE\ORADATA\REPF\REDO02.LOG'
    As a normal practice, we do have multiplexing of redo log files at diff location, but even that second copy of redo log is of no use to recover the redo log. This explains redo log could not be archived, since it can't be read. Same is true even for Logmnr process, it could not read the redo log file and it failed. Now, we have wae to recover from this situation (as far as DB is concern, not Stream Replication), since the shutdown after this error was IMMEDIATE causing checkpoing, and rollback/rollforward is not required during system startup. (No instance recovery) We can make db NOARCHIVELOG mode, drop that particular group, and create new one, and turn db to ARCHIVELOG mode This will certainly serve the purpose as far as consistency of DB is concern.
    Here is a catch for Stream Replication. The redo log that got corrupted must be having few transaction which are not being archived, and each will be having corresponding SCN. Now, Capture Process read the info sequentially in order of SCN. Few transaction are now missed, and Capture process can't jump to next SCN skipping few SCN in between. So, we have to re-instantiate the objects on the another system which has no erros, and start working on it. My botheration is what will happen to those missed transaction on the another database. It's absolete loss of the data. In development I can manage that. But in real time Production stage, this is a critical situation. How to recover from this situation to get back the corrupted info from redo log ?
    I have not dropped any of the log group yet. B'coz I would like to recover from this situation without LOSS of data.
    Thanx, & regards,
    Kamlesh Chaudhary
    Content of trace files :
    Dump file e:\oracle\admin\repf\bdump\trishul_arc0_1724.trc
    Fri Apr 04 12:57:31 2003
    ORACLE V9.2.0.2.1 - Production vsnsta=0
    vsnsql=12 vsnxtr=3
    Windows 2000 Version 5.0 Service Pack 2, CPU type 586
    Oracle9i Enterprise Edition Release 9.2.0.2.1 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.2.0 - Production
    Windows 2000 Version 5.0 Service Pack 2, CPU type 586
    Instance name: trishul
    Redo thread mounted by this instance: 1
    Oracle process number: 16
    Windows thread id: 1724, image: ORACLE.EXE
    *** SESSION ID:(13.1) 2003-04-04 12:57:31.000
    - Created archivelog as 'E:\ORACLE\ORADATA\REPF\ARCHIVE\LOCATION02\1_36.ARC'
    - Created archivelog as 'E:\ORACLE\ORADATA\REPF\ARCHIVE\LOCATION01\1_36.ARC'
    *** 2003-04-04 12:57:44.000
    ARC0: All Archive destinations made inactive due to error 354
    *** 2003-04-04 12:57:44.000
    kcrrfail: dest:2 err:354 force:0
    *** 2003-04-04 12:57:44.000
    kcrrfail: dest:1 err:354 force:0
    ORA-00354: corrupt redo log block header
    ORA-00353: log corruption near block 66922 change 0 time 04/04/2003 11:05:40
    ORA-00312: online log 2 thread 1: 'E:\ORACLE\ORADATA\REPF\ARCHIVE\REDO02.LOG'
    ORA-00312: online log 2 thread 1: 'E:\ORACLE\ORADATA\REPF\REDO02.LOG'
    *** 2003-04-04 12:57:44.000
    ARC0: Archiving not possible: error count exceeded
    ORA-16038: log 2 sequence# 36 cannot be archived
    ORA-00354: corrupt redo log block header
    ORA-00312: online log 2 thread 1: 'E:\ORACLE\ORADATA\REPF\REDO02.LOG'
    ORA-00312: online log 2 thread 1: 'E:\ORACLE\ORADATA\REPF\ARCHIVE\REDO02.LOG'
    ORA-16014: log 2 sequence# 36 not archived, no available destinations
    ORA-00312: online log 2 thread 1: 'E:\ORACLE\ORADATA\REPF\REDO02.LOG'
    ORA-00312: online log 2 thread 1: 'E:\ORACLE\ORADATA\REPF\ARCHIVE\REDO02.LOG'
    ORA-16014: log 2 sequence# 36 not archived, no available destinations
    ORA-00312: online log 2 thread 1: 'E:\ORACLE\ORADATA\REPF\REDO02.LOG'
    ORA-00312: online log 2 thread 1: 'E:\ORACLE\ORADATA\REPF\ARCHIVE\REDO02.LOG'
    ORA-16014: log 2 sequence# 36 not archived, no available destinations
    ORA-00312: online log 2 thread 1: 'E:\ORACLE\ORADATA\REPF\REDO02.LOG'
    ORA-00312: online log 2 thread 1: 'E:\ORACLE\ORADATA\REPF\ARCHIVE\REDO02.LOG'
    ORA-16014: log 2 sequence# 36 not archived, no available destinations
    ORA-00312: online log 2 thread 1: 'E:\ORACLE\ORADATA\REPF\REDO02.LOG'
    ORA-00312: online log 2 thread 1: 'E:\ORACLE\ORADATA\REPF\ARCHIVE\REDO02.LOG'
    ORA-16014: log 2 sequence# 36 not archived, no available destinations
    ORA-00312: online log 2 thread 1: 'E:\ORACLE\ORADATA\REPF\REDO02.LOG'
    ORA-00312: online log 2 thread 1: 'E:\ORACLE\ORADATA\REPF\ARCHIVE\REDO02.LOG
    Dump file e:\oracle\admin\repf\udump\trishul_cp01_2048.trc
    Fri Apr 04 12:57:27 2003
    ORACLE V9.2.0.2.1 - Production vsnsta=0
    vsnsql=12 vsnxtr=3
    Windows 2000 Version 5.0 Service Pack 2, CPU type 586
    Oracle9i Enterprise Edition Release 9.2.0.2.1 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.2.0 - Production
    Windows 2000 Version 5.0 Service Pack 2, CPU type 586
    Instance name: trishul
    Redo thread mounted by this instance: 1
    Oracle process number: 30
    Windows thread id: 2048, image: ORACLE.EXE (CP01)
    *** 2003-04-04 12:57:28.000
    *** SESSION ID:(27.42) 2003-04-04 12:57:27.000
    TLCR process death detected. Shutting down TLCR
    error 1280 in STREAMS process
    ORA-01280: Fatal LogMiner Error.
    OPIRIP: Uncaught error 447. Error stack:
    ORA-00447: fatal error in background process
    ORA-01280: Fatal LogMiner Error
    **********************

    I have the similar problem - I am using Steams environment, and have got this
    "ORA-00353: log corruption near block" errors in the alert.log file
    during capture the changes on the primary database, and Capture
    process became aborted after that.
    Was that transactions lost, or after i've started the Capture process
    again the were captured and send to the target database?
    Have anyone solved that problem?
    Can you help me with it?

  • [DG Physical] ORA-00368: checksum error in redo log block

    Hi all,
    I'm building a DR solution with 1 primary & 2 DR site (Physical).
    All DBs use Oracle 10.2.0.3.0 on Solaris 64bit.
    The first one ran fine for some days (6), then I installed the 2nd. After restoring the DB (DUPLICATE TARGET DATABASE FOR STANDBY) & ready to apply redo. The DB fetched missing arc gaps & I got the following error:
    ==================
    Media Recovery Log /global/u04/recovery/billhcm/archive/2_32544_653998293.dbf
    Errors with log /global/u04/recovery/billhcm/archive/2_32544_653998293.dbf
    MRP0: Detected read corruption! Retry recovery once log is re-fetched...
    Wed Jan 27 21:46:25 2010
    Errors in file /u01/oracle/admin/billhcm/bdump/billhcm1_mrp0_12606.trc:
    ORA-00368: checksum error in redo log block
    ORA-00353: log corruption near block 1175553 change 8236247256146 time 01/27/2010 18:33:51
    ORA-00334: archived log: '/global/u04/recovery/billhcm/archive/1_47258_653998293.dbf'
    Managed Standby Recovery not using Real Time Apply
    Recovery interrupted!
    Recovered data files to a consistent state at change 8236247255373
    ===================
    I see that may be RFS get the file incorrectly so I ftp to get this file & continue the apply, it pass. Comparison the RFS file & ftp is difference. At that time, I think that something wrong with the RFS because the content of arc is not right. (I used BACKUP VALIDATE ARCHIVELOG SEQUENCE BETWEEN N1 AND N2 THREAD X to check all arcs the RFS fetched, there was corrupt in every file);
    I restore the DR DB again & apply incremental backup from the primary, now it run well. I don't know what's happening as I did the same procedures for all DR DB.
    Yesterday night, I have to stop & restart DR site 1. Today, I check and it got the same error as the 2nd site, with corrupted redo. I try to delete the arcs, & let RFS to reget it, but the files were corrupt too.
    If this continue to happen with the 2nd site again, that'll be a big problem.
    The DR site 1 & Primary is linked by a GB switch, site 2 by a 155Mbps connection (far enough for my db load at about 1.5MB/s avg apply rate).
    I seach Oracle support (metalink) but no luck, there is a case but it mentions max_connection>1 (mine is default =1)
    Can someone show me how to troubleshooting/debug/trace this problem.
    That would be a great help!
    Thank you very much.

    This (Replication) is the wrong forum for your posting.
    Please post to the "Database - General" forum at
    General Database Discussions
    But, first, log an SR with Oracle Support.
    Hemant K Chitale

  • Ora-00368 checksum error in redo log block

    We are running small database in oracle 9i in non archive mode .Database is not opening up with following error ora-00368 checksum error in redo log block.
    How to do the incomplete database recovery and open the database.
    Regards
    Arun

    For more details
    Here is what I am Doing.
    SQL> alter database open;
    alter database open
    ERROR at line 1:
    ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
    SQL> alter database open resetlogs;
    alter database open resetlogs
    ERROR at line 1:
    ORA-01194: file 1 needs more recovery to be consistent
    ORA-01110: data file 1: 'M:\ORACLE\ORADATA\mail\SYSTEM01.DBF'
    SQL> alter database recover datafile
    'M:\ORACLE\ORADATA\mail\SYSTEM01.DBF';
    alter database recover datafile 'M:\ORACLE\ORADATA\mail\SYSTEM01.DBF'
    ERROR at line 1:
    ORA-00283: recovery session canceled due to errors
    ORA-00368: checksum error in redo log block
    ORA-00353: log corruption near block 103414 change 5082448355423 time
    04/22/2003 04:30:11
    ORA-00312: online log 3 thread 1: 'M:\ORACLE\ORADATA\mail\REDO03.LOG'
    What can be done to start the database??
    Regards
    Arun

  • Get ORA-00368: checksum error in redo log block

    Hi all,
    I get an error ORA-00368: checksum error in redo log block when connecting to database and here is the error:
    ORA-00368: checksum error in redo log block
    ORA-00353: log corruption near block 430757 change 1236507302 time 11/12/2009
    09:55:35
    ORA-00312: online log 4 thread 1: '/oradata02/tchad/redo4.log'
    Note that we are in noarchive log mode.
    Could you help on how to recover my database please or a doc if there is interesting somewhere.
    Thank you
    Lucienot

    Hi I don't have redo log duplex and here are the things i've done:
    1.     shutdown abort
    2.     ALTER DATABASE CLEAR UNARCHIVED LOGFILE '/oradata/.../redo3.log';
    3.     startup nomount;
    4.     alter database mount;
    5.     ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 4;
    SQL> SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;
    GROUP# ARC STATUS
    3 NO ACTIVE
    4 NO CURRENT
    5 NO UNUSED
    SQL> alter system switch logfile;
    alter system switch logfile
    ERROR at line 1:
    ORA-01109: database not open
    SQL> alter database open;
    alter database open
    ERROR at line 1:
    ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
    SQL> alter database open resetlogs;
    alter database open resetlogs
    ERROR at line 1:
    ORA-01194: file 1 needs more recovery to be consistent
    ORA-01110: data file 1: '/oradata00/tchad/system01.dbf'
    Thanks

  • How to recover from one corrupted redo log file in NOARCHIVE mode?

    Oracle 10.2.1.
    The redo log file was corrupted and Oracle can't work.
    When I use STARTUP mount, I got no error msg.
    SQL> startup mount
    ORACLE instance started.
    Total System Global Area 1652555776 bytes
    Fixed Size 1251680 bytes
    Variable Size 301991584 bytes
    Database Buffers 1342177280 bytes
    Redo Buffers 7135232 bytes
    Database mounted.
    But I have some applications which are depended on Oracle can't be started.
    So, I tried STARTUP open. But I got error msg.
    SQL> startup open
    ORACLE instance started.
    Total System Global Area 1652555776 bytes
    Fixed Size 1251680 bytes
    Variable Size 301991584 bytes
    Database Buffers 1342177280 bytes
    Redo Buffers 7135232 bytes
    Database mounted.
    ORA-00368: checksum error in redo log block
    ORA-00353: log corruption near block 497019 change 42069302 time 11/07/2007
    23:43:09
    ORA-00312: online log 4 thread 1:
    'G:\ORACLE\PRODUCT\10.2.0\ORADATA\NMDATA\REDO04.LOG'
    So, how can I restore and recover my database?
    If use RMAN, how to do that?
    Any help will be appreciated.
    Thanks.

    Hi, Yingkuan,
    Thanks for the helps.
    Actually, I have 10 redo log files exists. All of them are here.
    I tried your suggestion:
    alter database clear unarchived logfile group 4;
    The error msg I got is the same as before:
    SQL> alter database clear unarchived logfile group 4;
    alter database clear unarchived logfile group 4
    ERROR at line 1:
    ORA-01624: log 4 needed for crash recovery of instance nmdata (thread 1)
    ORA-00312: online log 4 thread 1:
    'G:\ORACLE\PRODUCT\10.2.0\ORADATA\NMDATA\REDO04.LOG'
    Compared to losing all the data, it is OK for me lose some of them.
    I have more than 1 TB data stored and 99.9% of them are raster images.
    The loading of these data were the headache. If I can save them, I can bear the lost.
    I want to grasp the last straw.
    But I don't know how set the parameter: allowresetlogs_corruption
    I got the error msg:
    SQL> set allowresetlogs_corruption=true;
    SP2-0735: unknown SET option beginning "_allow_res..."
    I have run the command:
    Recover database until cancel
    Alter database open resetlogs
    The error msg I got is the following:
    SQL> recover database until cancel
    ORA-00279: change 41902930 generated at 11/05/2007 22:01:48 needed for thread 1
    ORA-00289: suggestion :
    D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\NMDATA\ARCHIVELOG\2007_11_09\O1_MF_
    1_1274_%U_.ARC
    ORA-00280: change 41902930 for thread 1 is in sequence #1274
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    cancel
    ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
    ORA-01194: file 1 needs more recovery to be consistent
    ORA-01110: data file 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\NMDATA\SYSTEM01.DBF'
    ORA-01112: media recovery not started
    SQL>
    From the log file, I got the following:
    ALTER DATABASE RECOVER database until cancel
    Fri Nov 09 00:12:48 2007
    Media Recovery Start
    parallel recovery started with 2 processes
    ORA-279 signalled during: ALTER DATABASE RECOVER database until cancel ...
    Fri Nov 09 00:13:20 2007
    ALTER DATABASE RECOVER CANCEL
    Fri Nov 09 00:13:21 2007
    ORA-1547 signalled during: ALTER DATABASE RECOVER CANCEL ...
    Fri Nov 09 00:13:21 2007
    ALTER DATABASE RECOVER CANCEL
    ORA-1112 signalled during: ALTER DATABASE RECOVER CANCEL ...
    Thank you very much. and I am looking forward to your followup input.

  • Checksum error in redo log block

    I received ORA-00368 in my database and to resolve it I tried following steps:-
    1) recover database until cancel;
    2) alter database open resetlogs;
    ERROR at line 1:
    ORA-01194: file 1 needs more recovery to be consistent
    ORA-01110: data file 1: '/u01/oracle/data/system01.dbf'
    3) recover database;
    ORA-00283: recovery session canceled due to errors
    ORA-00368: checksum error in redo log block
    ORA-00353: log corruption near block 12018 change 5983381348672 time 05/18/2010
    16:08:24
    ORA-00312: online log 10 thread 1: '/u02/oracle/data/log10b.dbf'
    ORA-00312: online log 10 thread 1: '/u01/oracle/data/log10a.dbf'
    There are 4 log groups with 2 members each and the database is in archive mode. Log group# 10 is current and all others are inactive.
    Could you please let me know how should I proceed further either with or without losing transaction in group# 10 redo log?
    Thanks
    Rajkum

    How can I drop the CURRENT log group# 10 and start the database with remaining 3 log groups? Database is in archive mode.Short answer: You cant. It is the CURRENT redo log... most probably your database wasnt shut down cleanly hence requiring a recovery. This recovery cannot be done because you have a corruption in your redo log needed to roll-forward the changes.
    Without a valid backup and a restore/recovery until time there is no chance of opening the database without the help of Oracle. I strongly suggest you open a SR and prepare your management for some costs because you are running a unsupported database version on a unsupported (at least today) operating system. I also doubt you have a valid support contract for a 9i database...
    Ronny Egner
    My Blog: http://blog.ronnyegner-consulting.de

  • How to recover from corrupt redo log file in non-archived 10g db

    Hello Friends,
    I don't know much about recovering databases. I have a 10.2.0.2 database with corrupt redo file and I am getting following error on startup. (db is non archived and no backup) Thanks very much for any help.
    Database mounted.
    ORA-00368: checksum error in redo log block
    ORA-00353: log corruption near block 6464 change 9979452011066 time 06/27/2009
    15:46:47
    ORA-00312: online log 1 thread 1: '/dbfiles/data_files/log3.dbf'
    ====
    SQL> select Group#,members,status from v$log;
    GROUP# MEMBERS STATUS
    1 1 CURRENT
    3 1 UNUSED
    2 1 INACTIVE
    ==
    I have tried this so far but no luck
    I have tried following commands but no help.
    SQL> ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 3;
    Database altered.
    SQL> alter database open resetlogs;
    alter database open resetlogs
    ERROR at line 1:
    ORA-01139: RESETLOGS option only valid after an incomplete database recovery
    SQL> alter database open;
    alter database open
    ERROR at line 1:
    ORA-00368: checksum error in redo log block
    ORA-00353: log corruption near block 6464 change 9979452011066 time 06/27/2009
    15:46:47
    ORA-00312: online log 1 thread 1: '/dbfiles/data_files/log3.dbf'

    user652965 wrote:
    Thanks very much for your help guys. I appreciate it. unfortunately none of these commands worked for me. I kept getting error on clearing logs that redo log is needed to perform recovery so it can't be cleared. So I ended up restoring from earlier snapshot of my db volume. Database is now open.
    Thanks again for your input.And now, as a follow-up, at a minimum you should make sure that all redo log groups have at least 3 members. Then, if you lose a single redo log file, all you have to do is shutdown the db and copy one of the good members (of the same group as the lost member) over the lost member.
    And as an additional follow-up, if you value your data you will run in archivelog mode and take regular backups of the database and archivelogs. If you fail to do this you are saying that your data is not worth saving.

  • DB STARTUP 시 ORA-312, ORA-313(ONLINE REDO LOG CRASH)

    제품 : ORACLE SERVER
    작성날짜 : 2002-10-31
    =====================================================
    DB STARTUP 시 ORA-312, ORA-313(ONLINE REDO LOG CRASH)
    =====================================================
    PURPOSE
    [ ONLINE REDO LOG가 손상되었을 때 DB에 OPERATION 이 없었던 경우는 다음과 같은 절차로 DB 을 OPEN 할 수 있다. - 확률 70% ]
    Explanation & Example
    1. CONTROLFILE 생성
    -. 손상된 online log 는 포함시키지 않는다.
    -. resetlogs option 으로 생성한다.
    -. reuse option 은 생략하고 기존 controlfile 은 다른 이름으로 move 시킴.
    <V7 에서 CONTROLFILE 생성하는 방법 >
    sqldba> startup mount
    sqldba> alter database backup controlfile to trace;
    위와 같이 명령을 입력하면 ORACLE_HOME/rdbms/log 디렉토리에 trace 화일이
    생긴다. 그 trace 화일에서 create controlfile 명령 부분을 남기고 삭제
    한다.
    (7.3 이상에서는 cd $ORACLE_HOME
    cd ../../admin/SID dir/udump 에 있습니다.)
    콘트롤 화일 생성 문장 예 - <cnt.sql> : GROUP 1 이 ONLINE LOG 라고 가정
    CREATE CONTROLFILE DATABASE "RC722" RESETLOGS NOARCHIVELOG
    MAXLOGFILES 32 ********
    MAXLOGMEMBERS 2
    MAXDATAFILES 30
    MAXINSTANCES 8
    MAXLOGHISTORY 800
    LOGFILE
    GROUP 2 '/oracle/oracle/dbs/log2RC722.dbf' SIZE 5M,
    GROUP 3 '/oracle/oracle/dbs/log3RC722.dbf' SIZE 5M
    DATAFILE
    '/oracle/oracle/dbs/systRC722.dbf',
    '/oracle/oracle/dbs/rbsRC722.dbf',
    '/oracle/oracle/dbs/toolRC722.dbf',
    '/oracle/oracle/dbs/usrRC722.dbf',
    '/oracle/oracle/dbs/tempRC722.dbf',
    '/oracle/oracle/rcdata.dbf'
    2.절차
    $ sqldba lmode=y
    SQLDBA> connect internal
    SQLDBA> shutdown abort
    SQLDBA> startup nomount
    statement processed
    SQLDBA> @cnt
    SQLDBA> recover database using backup controlfile until cancel;
    CANCEL (Return)
    Recovery canceled
    SQLDBA> alter database open resetlogs;
    : 만일 정상적으로 open 되면 log file 추가
    SQLDBA> alter database add logfile '?/dbs/log1ORA722.dbf' size 1M;
    Reference Documents
    none

    You could check if the recovery was complete by (re)creating the controlfile with the resetlogs option.
    <CREATE CONTROLFILE REUSE DATABASE define_db_name RESETLOGS NOARCHIVELOG
    ...>Thanks for the hint. If possible, could you only check if the steps I'm going to perform are ok.
    I did an "alter database backup controlfile to trace;" and then extracted the create controlfile definition part. So in essence I should run the following statements:
    CREATE CONTROLFILE REUSE DATABASE "TESTDB" RESETLOGS  ARCHIVELOG
        MAXLOGFILES 16
        MAXLOGMEMBERS 3
        MAXDATAFILES 100
        MAXINSTANCES 8
        MAXLOGHISTORY 292
    LOGFILE
      GROUP 1 'C:\ORADATA\TESTDB\REDO01.LOG'  SIZE 20M,
      GROUP 2 'C:\ORADATA\TESTDB\REDO02.LOG'  SIZE 20M,
      GROUP 3 'C:\ORADATA\TESTDB\REDO03.LOG'  SIZE 20M
    -- STANDBY LOGFILE
    DATAFILE
      'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSTEM01.DBF',
      'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\UNDOTBS01.DBF',
      'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSAUX01.DBF',
      'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\USERS01.DBF'
    CHARACTER SET EE8MSWIN1250
    ALTER DATABASE OPEN RESETLOGS;
    ALTER TABLESPACE TEMP ADD TEMPFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\TEMP01.DBF' REUSE;Is that correct?
    About the RMAN backups: Wouldn't a 'CATALOG RECOVERY AREA' populate the controlfile with backup information again (I'm not using a recovery catalog in this case)?
    Thanks for the help!
    Regards,
    Jure

  • ORA-00354, ORA-00353 on RAC 11gR2

    Hello All,
    I have a database Oracle RAC 11gR2 on OEL linux 5.5 32bit.
    When i am trying startup my database I am facing the below errors: this error is occuring on the startup of any node
    ERROR at line 1:
    ORA-00354: corrupt redo log block header
    ORA-00353: log corruption near block 2651 change 1172351 time 10/12/2011
    13:22:43
    ORA-00312: online log 1 thread 1: '+DATA/orcl/onlinelog/group_1.261.761845161'It seems that my online redo log is corrupted. how can i solve that ?
    knowing that my database is running in NOARCHIVELOG mode and i do not have any backup.
    and why i am not able to start up any of the nodes? redo logs is not related to each node seperately ?
    I tried: srvctl start instance -d orcl -i orcl1 or srvctl start instance -d orcl -i orcl2
    but the same error, where is the High Availibilty in that case, the redo log file group_1 is for thread 1 only. SHould not be able to start Instance 2?
    Regards,
    Edited by: NB on Oct 13, 2011 5:12 PM

    since my database is runing in NOARCHIVELOG mode and i have no backups and the current is logfile was the corrupted one and my database was not starting.
    I solved that by ceating a pfile and adding the : allowresetlogs_corruption=TRUE
    regards,

  • Redo log files lost in Disk Corruption/failure

    DB version:10gR2
    In one of our test databases, I have lost all members of a group due to disk corruption(it was a bad practise to store both members on the same filesystem)
    Database is still up. We don't have a backup of the lost redo log group. Altogether we had 3 redo log groups. this is what i am going to do to fix this issue.
    Step 1. Add a redo log group
    ALTER DATABASE
    ADD LOGFILE ('/u04/oradata/ora67tst/log4a.rdo',
       '/u05/oradata/ora67tst/log4b.rdo') SIZE 15m;Step 2. Drop the corrupted redo log group
    ALTER DATABASE DROP LOGFILE GROUP 2;Is this the right way to go about fixing this issue?
    The documentation says that you need to make sure a redo log group is archived before you DROP it.
    When i use the query
    SQL>SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;
        GROUP# ARC STATUS
             1 YES  ACTIVE
             2 NO  CURRENT
             3 NO  INACTIVE
    How can i force the archiving of a redo log group 2?
    Edited by: Citizen_2 on May 28, 2009 10:10 AM
    Edited by: Citizen_2 on May 28, 2009 10:11 AM

    Citizen_2 wrote:
    How can i force the archiving of a redo log group 2?How could you archive a log group when you have lost all members of that group?
    Have you checked out this documentation: [Recovering After the Loss of Online Redo Log Files|file://///castle/1862/Home%20Directories/Vaillancourt/Oracle%2010gR2%20Doc/backup.102/b14191/recoscen008.htm#sthref1872]
    More specifically:
    If the group is . . .      Current      
    Then . . .
    It is the log that the database is currently writing to.
    And you should . . .
    Attempt to clear the log; if impossible, then you must restore a backup and perform incomplete recovery up to the most recent available redo log.
    >
    HTH!

  • Cant drop a current redo log

    ORACLE 11.2.0.2
    I have a corrupted redo log on a Physical Standby db. The corrupted file is the current log. I cant do an "alter system switch logfile" because the database is not writeable.
    SQL> alter database open;
    Database altered.
    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
    Database altered.
    SQL> SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;
    GROUP# ARC STATUS
    1 YES UNUSED
    2 YES UNUSED
    3 NO CURRENT
    SQL>
    SQL> alter system switch logfile;
    alter system switch logfile
    ERROR at line 1:
    ORA-16000: database open for read-only access
    How can I drop log file #3? The database is currently a physical, if I convert ti to a logical, then the dp would be writeable. Would this work? Any other ideas??

    http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/manage_ps.htm
    8.3.5 Adding or Dropping Online Redo Log Files
    Changing the size and number of the online redo log files is sometimes done to tune the database. You can add or drop online redo log file groups or members to the primary database without affecting the standby database. Similarly, you can drop log file groups or members from the primary database without affecting your standby database. However, these changes do affect the performance of the standby database after switchover.
    Caution:
    Whenever you add an online redo log file to the primary database, you should add corresponding online and standby redo log files to the standby database.
    For example, if the primary database has 10 online redo log files and the standby database has 2, and then you switch over to the standby database so that it functions as the new primary database, the new primary database is forced to archive more frequently than the original primary database.
    Consequently, when you add or drop an online redo log file at the primary site, it is important that you synchronize the changes in the standby database by following these steps:
    If Redo Apply is running, you must cancel Redo Apply before you can change the log files.
    If the STANDBY_FILE_MANAGEMENT initialization parameter is set to AUTO, change the value to MANUAL.
    Add or drop an online redo log file:
    To add an online redo log file, use a SQL statement such as this:
    SQL> ALTER DATABASE ADD LOGFILE '/disk1/oracle/oradata/payroll/prmy3.log' SIZE 100M;
    To drop an online redo log file, use a SQL statement such as this:
    SQL> ALTER DATABASE DROP LOGFILE '/disk1/oracle/oradata/payroll/prmy3.log';
    Repeat the statement you used in Step 3 on each standby database.
    Restore the STANDBY_FILE_MANAGEMENT initialization parameter and the Redo Apply options to their original states.

  • Sizing the redo log files using optimal_logfile_size view.

    Regards
    I have a specific question regarding logfile size. I have deployed a test database and i was exploring certain aspects with regards to selecting optimal size of redo logs for performance tuning using optimal_logfile_size view from v$instance_recovery. My main goal is to reduce the redo bytes required for instance recovery. Currently i have not been able to optimize the redo log file size. Here are the steps i followed:-
    In order to use the advisory from v$instance_recovery i had to set fast_start_mttr_target parameter which is by default not set so i did these steps:-
    1)SQL> sho parameter fast_start_mttr_target;
    NAME TYPE VALUE
    fast_start_mttr_target               integer                           0
    2) Setting the fast_start_mttr_target requires nullifying following deferred parameters :-
    SQL> show parameter log_checkpoint;
    NAME TYPE VALUE
    log_checkpoint_interval integer 0
    log_checkpoint_timeout integer 1800
    log_checkpoints_to_alert boolean FALSE
    SQL> select ISSES_MODIFIABLE,ISSYS_MODIFIABLE,ISINSTANCE_MODIFIABLE,ISMODIFIED from v$parameter where name like'log_checkpoint_timeout';
    ISSES_MODIFIABL ISSYS_MODIFIABLE ISINSTANCE_MODI ISMODIFIED
    FALSE IMMEDIATE TRUE FALSE
    SQL> alter system set log_checkpoint_timeout=0 scope=both;
    System altered.
    SQL> show parameter log_checkpoint_timeout;
    NAME TYPE VALUE
    log_checkpoint_timeout               integer                           0
    3) Now setting fast_start_mttr_target
    SQL> select ISSES_MODIFIABLE,ISSYS_MODIFIABLE,ISINSTANCE_MODIFIABLE,ISMODIFIED from v$parameter where name like'fast_start_mttr_target';
    ISSES_MODIFIABL ISSYS_MODIFIABLE ISINSTANCE_MODI ISMODIFIED
    FALSE IMMEDIATE TRUE FALSE
    Setting the fast_mttr_target to 1200 = 20 minutes of checkpoint switching according to Oracle recommendation
    Querying the v$instance_recovery view
    4) SQL> select ACTUAL_REDO_BLKS,TARGET_REDO_BLKS,TARGET_MTTR,ESTIMATED_MTTR, OPTIMAL_LOGFILE_SIZE,CKPT_BLOCK_WRITES from v$instance_recovery;
    ACTUAL_REDO_BLKS TARGET_REDO_BLKS TARGET_MTTR ESTIMATED_MTTR OPTIMAL_LOGFILE_SIZE CKPT_BLOCK_WRITES
    276 165888 *93* 59 361 16040
    Here Target Mttr was 93 so i set the fast_mttr_target to 120
    SQL> alter system set fast_start_mttr_target=120 scope=both;
    System altered.
    Now the logfile size suggested by v$instance_recovery is 290 Mb
    SQL> select ACTUAL_REDO_BLKS,TARGET_REDO_BLKS,TARGET_MTTR,ESTIMATED_MTTR, OPTIMAL_LOGFILE_SIZE,CKPT_BLOCK_WRITES from v$instance_recovery;
    ACTUAL_REDO_BLKS TARGET_REDO_BLKS TARGET_MTTR ESTIMATED_MTTR OPTIMAL_LOGFILE_SIZE CKPT_BLOCK_WRITES
    59 165888 93 59 290 16080
    After altering the logfile size to 290 as show below by v$log view :-
    SQL> select GROUP#,THREAD#,SEQUENCE#,BYTES from v$log;
    GROUP# THREAD# SEQUENCE# BYTES
    1 1 24 304087040
    2 1 0 304087040
    3 1 0 304087040
    4 1 0 304087040
    5 ) After altering the size i have observed the anomaly as redo log blocks to be applied for recovery has increased from *59 to 696* also now v$instance_recovery view is now suggesting the logfile size of *276 mb*. Have i misunderstood something
    SQL> select ACTUAL_REDO_BLKS,TARGET_REDO_BLKS,TARGET_MTTR,ESTIMATED_MTTR, OPTIMAL_LOGFILE_SIZE,CKPT_BLOCK_WRITES from v$instance_recovery;
    ACTUAL_REDO_BLKS TARGET_REDO_BLKS TARGET_MTTR ESTIMATED_MTTR OPTIMAL_LOGFILE_SIZE CKPT_BLOCK_WRITES
    *696* 646947 120 59 *276* 18474
    Please clarify the above output i am unable to optimize the logfile size and have not been able to achieve the goal of reducing the redo log blocks to be applied for recovery, any help is appreciated in this regard.

    sunny_123 wrote:
    Sir oracle says that fast_start_mttr target can be set to 3600 = 1hour. As suggested by following oracle document
    http://docs.oracle.com/cd/B10500_01/server.920/a96533/instreco.htm
    I set mine value to 1200 = 20 minutes. Later i adjusted it to 120=2 minutes as Target_mttr suggested it to be around 100 (if fast_mttr_target value is too high or too low effective value is contained in target_mttr of v$instance_recovery)Just to add, you are reading the documentation of 9.2 and a lot has changed since then. For example, in 9.2 the parameter FSMTTR was introduced and explicitly required to be set and monitored by the DBA for teh additional checkpoint writes which might get caused by it. Since 10g onwards this parameter has been made automatically maintained by Oracle. Also it's been long that 9i has been desupported followed by 10g so it's better that you start reading the latest documentation of 11g and if not that, at least of 10.2.
    Aman....

Maybe you are looking for

  • How to get storage on my phone again. PLEASE HELP this has been an issue for a LONG time now.

    almost ALL of my iphones memory is being taken up by "other" i only have 1 GB of pictures & under 1 GB of apps. I actually had to delete all my apps just so i would still have space on my phone. I am not looking to buy more memory. My family cant rea

  • Sender File Channel unable to process

    Hi, I have a scenario where we are using a sender file channel. It polls every 1 hour at the source directory. Suddenly yesterday the channel stopped processing and never polled again automatically. It started the processing but did not finish the pr

  • WMS Theme - Javascript API

    Hello All Is it possible to add a WMS map theme to the current map request using the MapViewer Java Script API? Thankyou

  • Where do  we create organzational structure in a project

    hai sap gurus, in real time scenario we have three servers i.e. 1. development server 2. quality server 3. Production server here we customize each and everything in development server and later transport it int testing and to production based on cus

  • PE9 working except Catalog Manger Dialog Box is empty.

    PE9 working correctly in W7 Prof  with 9000 images and tags showing correctly. Except Catalog Manger Dialog Box is empty for all three positions for choice of Catalog and actions are greyed out. The Custom Catalog position is selected to see all the