Assuming Following Scenario's
Scenario 1 :- Database was shutdown immediate. Startup gives redo log corruption .
Since database was shutdown immediate. All files are in synch and donot need recovery. In this case you can do the following :-
SQL>Startup mount ;
SQL>recover database using backup controlfile until cancel ;
Type cancel ;
SQL>Alter database open resetlogs ;
The resetlogs would reset the sequence number and recreate the redo logs
Scenario 2 :- Inactive redo log group has got Corrrupt . Redo log not multiplexed
SQL>Select * from v$log ;
Find the status of the group
If its Inactive . So you can clear the inactive corrupted group
ALTER DATABASE CLEAR LOGFILE GROUP 3;
If the corrupt redo log file has not been archived, use the UNARCHIVED keyword in the statement.
ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 3;
This statement clears the corrupted redo logs and avoids archiving them. The cleared redo logs are available for use even though they were not archived.
If you clear a log file that is needed for recovery of a backup, then you can no longer recover from that backup.
So immediately take a Base backup after this is done
If you want to clear an unarchived redo log that is needed to bring an offline tablespace online, use the UNRECOVERABLE DATAFILE clause in the ALTER DATABASE CLEAR LOGFILE statement.
If you clear a redo log needed to bring an offline tablespace online, you will not be able to bring the tablespace online again. You will have to drop the tablespace or perform an incomplete recovery. Note that tablespaces taken offline normal do not require recovery.
Scenario 3 :- Current redo log is corrupted.
In this case if you have a multiplexed copy of redo log and its good then replace the corrupted redo log with the multiplexed copy.
If no Mutliplexed copy is available then the best option is to do Point in time recovery before the corrupted redo log.
Again if not backups are available then you need to open a Service request to explore options to force open database.(If database is forced opened it needs to be recreated using export taken after it was forced open)