If Oracle fails to start and startup.log shows eg:
ORA-03113: end-of-file on communication channel
Process ID: 9174
Session ID: 191 Serial number: 3
Process ID: 9174
Session ID: 191 Serial number: 3
Look in alert_SID.log.
If it shows:
Errors in file /u01/app/oracle/diag/rdbms/t1234/T1234trace/T1234D_ora_10245.trc:
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 46773248 bytes disk space from 8388608000 limit
ARCH: Error 19809 Creating archive log file to '/u01/app/oracle/flash_recovery_area/T1234/archivelog/2012_11_13/o1_mf_1_20_%u_.arc'
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 46773248 bytes disk space from 8388608000 limit
ARCH: Error 19809 Creating archive log file to '/u01/app/oracle/flash_recovery_area/T1234/archivelog/2012_11_13/o1_mf_1_20_%u_.arc'
Then the flash recovery area is full.
To fix on a test instance (ie not production data) run
sqlplus / as SYSDBA
startup mount
alter database noarchivelog;
Remove all unwanted files from the file system
Then go into rman
rman TARGET sys/pwd@SID
crosscheck archivelog all;
delete expired archivelog all;
delete force obsolete;
delete force obsolete;
Then sqlplus / as SYSDBA
alter database archivelog;
alter database open;
To set the recovery window - in RMAN
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 DAYS;
To manage flash recovery area size -
alter system set db_recovery_file_dest_size=xG SCOPE=BOTH;
To Move the FRA create a directory (preferably on a different disk) and
vi <ORACLE_HOME>/dbs/init.ora
update the line:
db_recovery_file_dest='/u02/flash_recovery_area'
(You can also change db_recovery_file_dest in here. Back up the init.ora first)