Recently I got a problem with one of the ORLs; like the title is suggesting, one of the ORL got corrupted (don’t ask how!) and below is what I did:
ORA-00354: corrupt redo log block header ORA-00353: log corruption near block 8741986 change 136264748341 time 09/06/2016 12:47:59 ORA-00312: online log 4 thread 1: '/u2000/oradata/DB/redo4a.log'
What I had in mind was to bounce the database in mount state and to drop the redo04a.log file and to re-create it. Something like this:
SQL> startup mount ORACLE instance started. Total System Global Area 3.2068E+10 bytes Fixed Size 2269072 bytes Variable Size 5905580144 bytes Database Buffers 2.6105E+10 bytes Redo Buffers 55242752 bytes Database mounted. SQL> alter database drop logfile group 4; alter database drop logfile group 4 * ERROR at line 1: ORA-00350: log 4 of instance DB (thread 1) needs to be archived ORA-00312: online log 4 thread 1: '/u2000/oradata/DB/redo4a.log'
…and the decision had to be taken:
SQL> alter database clear unarchived logfile group 4; Database altered. SQL> alter database drop logfile group 4; Database altered. SQL> alter database add logfile group 4 '/u2000/oradata/DB/redo4a.log' size 4G reuse; Database altered. SQL> alter database open; Database altered.