Possible error while starting the database in this situation:
Total System Global Area 603979776 bytes
Fixed Size 780300 bytes
Variable Size 165943284 bytes
Database Buffers 436207616 bytes
Redo Buffers 1048576 bytes
Database mounted.
ORA-16038: log 2 sequence# 438 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/orcl/redo02.log'
Fisrt of all, if you get this situation, to stop the database you must do a shutdown abort on ./sqlplus.
So , fisrt go to $ORACLE_HOME , then type: /bin/sqlplus /nolog , then type: connect / as sysdba , then type: shutdown abort
After you shutdown the instance then go to: $ORACLE_HOME/dbs
You should have a file called init.ora or initorcl.ora or init[instance_name].ora , please notice ora[instance_name].ora if exists , is executed in place of init.ora
In that file you should look for the file configuration section , and then look for the following line:
db_recovery_file_dest_size= [number]
If that line is non existent then add it , in this example: db_recovery_file_dest_size=6442450944 , we are setting the vale to 6GB of size.
After you do that you can then go and start the database with a normal: startup using sqlplus.
In case you need to delete db recovery files to free up space, then do the following:
Physically delete the recovery files needed using the: rm -R command
After youve done that, then connect to RMAN in this way:
RMAN> connect target /
then run: RMAN> crosscheck archivelog all;
This command tells the control file that the archives have been deleted
Then run the following command to delete the log entries identified above:
RMAN> delete expired archivelog all;
Hey guys and gals, beleive me this is crucial information to mantain an ORACLE database properly, hope it helps.
Felipe Cruz Ferrero