Limit exceeded for recovery files ORA-19809




Limit exceeded for recovery files ORA-19809 | Oracle shutdown in progress | Flash Recovery Area is Full | Archiver log error Step by step recovery solution

ORA-19809: limit exceeded for recovery files

Error Messages:

ORA-16038: log 3 sequence# 5157 cannot be archived
ORA-19809: limit exceeded for recovery files
(or)
SQL> alter database open;
    alter database open
    *
    ERROR at line 1:
    ORA-16038: log 1 sequence# 230 cannot be archived
    ORA-19809: limit exceeded for recovery files
    ORA-00312: online log 1 thread 1: ‘/opt/oracle/db/home/data/imapdb/redo01.log’
(or) While Starting the instance if you face the following error.
SQL> startup
ORACLE instance started.
Database mounted.
ORA-16038: log 3 sequence# 5160 cannot be archived
ORA-19809: limit exceeded for recovery files
A-00312: online log 3 thread 1: ‘..ORCLREDO03.LOG’
(or)
Error message “Oracle shutdown in progress” While connection from toad.

Root Cause:

Flash Recovery Area is Full

Solution:

Below I have mentioned tow step by step recovery solutions. Based on your environment you can choose the option.

Solution 1

If you have enough disk space available, you can increase the db_recovery_file_dest_size larger.
1. Log into the database as sysdba and find out the present db recovery file size.
Open Command Prompt
c:> sqlplus /nolog
SQL> connect sys/manager as sysdba
SQL>show parameter db_recovery_file_dest
2. Increase the size to higher .
SQL> alter system set db_recovery_file_dest_size = 10g;
System altered.
SQL> shutdown abort
ORACLE instance shut down.
SQL> startup

Solution 2

Free up the space from flash recovery area.
1. Log into the database as sysdba and find out the location log.
Open Dos Command Prompt
c:> sqlplus /nolog
SQL> connect sys/manager as sysdba
SQL>show parameter db_recovery_file_dest

 

Limit exceeded for recovery files ORA-19809



2.  Delete unwanted old archive log files manually (rm/del).
go to C:oracleproduct10.2.0flash_recovery_areaORCLARCHIVELOG
Manual deleting will not clear the entries in rman
3.  Log in to rman and delete the expired the archive log entries.
Go to Command Prompt
>rman target /
connected to target database: ORCL (DBID=1202273786)

 









RMAN > show all;
RMAM > crosscheck archivelog all;

This will updates the manually deleted log files as expired.
RMAN > delete expired archivelog all;

4. Login to sql and Restart the service.
SQL> shutdown abort
ORACLE instance shut down
SQL> startup