ORA-19809: limit exceeded for recovery files
Today Morning one of my Test database (VM) was playing up . This came to light when the esxi Host was down due to power issue bringing all the guest down . After the Host Server was sorted and we started bringing individual guest servers up but one of Test VM was struggling . On diagnosing it appeared that the flash recovery area was filled 99.99% and there was no room for online log to archive .
Error Encountered during the start of the instance :
SQL> startup
ORACLE instance started.
Total System Global Area 1837244416 bytes
Fixed Size 2851720 bytes
Variable Size 553651320 bytes
Database Buffers 1275068416 bytes
Redo Buffers 5672960 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
Process ID: 4471
Session ID: 1 Serial number: 5
Error as shown from Log file :
ARC1: Error 19809 Creating archive log file to '/backup/fast_recovery_area/TEST12C1/archivelog/2018_06_19/o1_mf_1_210_%u_.arc'
Tue Jun 19 09:44:39 2018
ARC3: Archival started
ARC0: STARTING ARCH PROCESSES COMPLETE
Tue Jun 19 09:44:39 2018
Errors in file /app/oracle/diag/rdbms/test12c1/test12c1/trace/test12c1_ora_4542.trc:
ORA-19815: WARNING: db_recovery_file_dest_size of 10485760000 bytes is 99.99% used, and has 913408 remaining bytes available.
Tue Jun 19 09:44:39 2018
************************************************************************
You have following choices to free up space from recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
BACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to
reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
system command was used to delete files, then use RMAN CROSSCHECK and
DELETE EXPIRED commands.
************************************************************************
ARCH: Error 19809 Creating archive log file to '/backup/fast_recovery_area/TEST12C1/archivelog/2018_06_19/o1_mf_1_209_%u_.arc'
Tue Jun 19 09:44:39 2018
Errors in file /app/oracle/diag/rdbms/test12c1/test12c1/trace/test12c1_ora_4542.trc:
ORA-16038: log 2 sequence# 209 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 2 thread 1: '/data/test12c1/redo02.log'
USER (ospid: 4542): terminating the instance due to error 16038
Tue Jun 19 09:44:39 2018
System state dump requested by (instance=1, osid=4542), summary=[abnormal instance termination].
System State dumped to trace file /app/oracle/diag/rdbms/test12c1/test12c1/trace/test12c1_diag_4504.trc
Dumping diagnostic data in directory=[cdmp_20180619094439], requested by (instance=1, osid=4542), summary=[abnormal instance termination].
Tue Jun 19 09:44:39 2018
Instance terminated by USER, pid = 4542
===============================================================
Cause: Oracle cannot reclaim disk space of specified bytes from the DB_RECOVERY_FILE_DEST_SIZE limit.
Action: There are five possible solutions:
1) Take frequent backup of recovery area using RMAN.
2) Consider changing RMAN retention policy.
3) Consider changing RMAN archivelog deletion policy.
4) Add disk space and increase DB_RECOVERY_FILE_DEST_SIZE.
5) Delete files from recovery area using RMAN.
=================================================================
Solution for this issues to get resolved was simple.
SQL> show parameter DB_RECOVERY_FILE_DEST_SIZE;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest_size big integer 10000M
SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 15G;
System altered.
SQL> alter database open;
Database altered.
Error Encountered during the start of the instance :
SQL> startup
ORACLE instance started.
Total System Global Area 1837244416 bytes
Fixed Size 2851720 bytes
Variable Size 553651320 bytes
Database Buffers 1275068416 bytes
Redo Buffers 5672960 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
Process ID: 4471
Session ID: 1 Serial number: 5
Error as shown from Log file :
ARC1: Error 19809 Creating archive log file to '/backup/fast_recovery_area/TEST12C1/archivelog/2018_06_19/o1_mf_1_210_%u_.arc'
Tue Jun 19 09:44:39 2018
ARC3: Archival started
ARC0: STARTING ARCH PROCESSES COMPLETE
Tue Jun 19 09:44:39 2018
Errors in file /app/oracle/diag/rdbms/test12c1/test12c1/trace/test12c1_ora_4542.trc:
ORA-19815: WARNING: db_recovery_file_dest_size of 10485760000 bytes is 99.99% used, and has 913408 remaining bytes available.
Tue Jun 19 09:44:39 2018
************************************************************************
You have following choices to free up space from recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
BACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to
reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
system command was used to delete files, then use RMAN CROSSCHECK and
DELETE EXPIRED commands.
************************************************************************
ARCH: Error 19809 Creating archive log file to '/backup/fast_recovery_area/TEST12C1/archivelog/2018_06_19/o1_mf_1_209_%u_.arc'
Tue Jun 19 09:44:39 2018
Errors in file /app/oracle/diag/rdbms/test12c1/test12c1/trace/test12c1_ora_4542.trc:
ORA-16038: log 2 sequence# 209 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 2 thread 1: '/data/test12c1/redo02.log'
USER (ospid: 4542): terminating the instance due to error 16038
Tue Jun 19 09:44:39 2018
System state dump requested by (instance=1, osid=4542), summary=[abnormal instance termination].
System State dumped to trace file /app/oracle/diag/rdbms/test12c1/test12c1/trace/test12c1_diag_4504.trc
Dumping diagnostic data in directory=[cdmp_20180619094439], requested by (instance=1, osid=4542), summary=[abnormal instance termination].
Tue Jun 19 09:44:39 2018
Instance terminated by USER, pid = 4542
===============================================================
The docs note:
ORA-19809: limit exceeded
for recovery files
Cause: The limit for recovery files specified by the
db_recovery_file_dest_size was exceeded.
Action: The error is accompanied by 19804. See
message 19804 for further details
ORA-19804: cannot reclaim string bytes disk
space from string limitCause: Oracle cannot reclaim disk space of specified bytes from the DB_RECOVERY_FILE_DEST_SIZE limit.
Action: There are five possible solutions:
1) Take frequent backup of recovery area using RMAN.
2) Consider changing RMAN retention policy.
3) Consider changing RMAN archivelog deletion policy.
4) Add disk space and increase DB_RECOVERY_FILE_DEST_SIZE.
5) Delete files from recovery area using RMAN.
=================================================================
Solution for this issues to get resolved was simple.
SQL> show parameter DB_RECOVERY_FILE_DEST_SIZE;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest_size big integer 10000M
SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 15G;
System altered.
SQL> alter database open;
Database altered.
Comments