Flash Recovery area - Space management Warning and Alerts

Applies to: Oracle Server - Enterprise Edition - Version: to - Release: 10.1 to 11.2
Information in this document applies to any platform.

Purpose of the article is to discuss

1. How Oracle Manages Disk Space in the Flash Recovery Area
2. Space management Warning and Alerts
3. Impact of retention policy
4. How to resolve full Flash Recovery Area conditions.

1. How Oracle Manages Disk Space in the Flash Recovery Area ?

Flash recovery area is a fixed area in Hard Disk reserved for database backups. This area is largely self-managing, some situations may require DBA intervention. Oracle Database and RMAN create files in the flash recovery area until the space used reaches the recovery area disk limit. When it needs to make room for new files, Oracle Database deletes files from the flash recovery area that are obsolete, redundant, or backed up to tertiary storage.

The following rules govern when files become eligible for deletion from the recovery area:

  •  Permanent files (files used by the database instance. Control file , Online Redo log files) are never eligible for deletion.
  •  Files that are obsolete under the retention policy are eligible for deletion.
  • Transient files (All files that are not permanent are transient. Archived redo log, Foreign archived redo log, Image copies of datafiles , Backup pieces, Flashback logs) that have been copied to tape are eligible for deletion.
  •  Archived redo logs are not eligible for deletion until all the consumers of the logs have satisfied their requirements.

 In general, Oracle Database eventually deletes transient files after they become obsolete.

Oracle does not delete eligible files from the Flash Recovery Area until the space must be reclaimed for some other purpose. The effect is that files recently moved to tape are often still available on disk for use in recovery. The recovery area can thus serve as a kind of cache for tape. Once the Flash Recovery Area is full, Oracle automatically deletes eligible files to reclaim space in the Flash Recovery Area as needed.

Find Flash Recovery Area Details & Usage: 

Query the V$RECOVERY_FILE_DEST view to find out the current location, disk quota, space in use, space reclaimable by deleting files, and total number of files in the Flash Recovery Area. For example :

----------- ---------- ----------------- ---------------
D:\Oracle\flash_recovery_area 838860800 292490752 0 44

Query the V$FLASH_RECOVERY_AREA_USAGE view to find out the percentage of the total disk quota used by different types of files. Also, you can determine how much space for each type of file can be reclaimed by deleting files that are obsolete, redundant, or already backed up to tape. For example :


------------ ------------------ ------------------------- ---------------
ARCHIVELOG 4.05 2.01 31
BACKUPPIECE 3.94 3.86 8
IMAGECOPY 15.64 10.43 66

2. Flash Recovery area - Space management Warning & Alerts

The database issues a warning alert when reclaimable space is less than 15% and a critical alert when reclaimable space is less than 3%. To warn the DBA of this condition, an entry is added to the alert log and to the DBA_OUTSTANDING_ALERTS table (used by Enterprise Manager). However, the database continues to consume space in the Flash Recovery Area until there is no reclaimable space left. When the Flash Recovery Area is completely full, the following error will be reported.

for example :
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim bytes disk space from limit

where is the number of bytes required and is the disk quota for the Flash Recovery Area.

The following Error would be reported in alert.log

ORA-19815: WARNING: db_recovery_file_dest_size of bytes is 100.00% used, and has 0 remaining bytes available.

Issue the following query to see the message:

SQL> SELECT object_type, message_type, message_level,reason, suggested_action
FROM dba_outstanding_alerts;

The database handles a Flash Recovery Area with insufficient reclaimable space just as it handles a disk full condition. Often, the result is a hang of the database.

3. Retention Policy / Obsolete Files in Flash Recovery Area

Correct use of a Flash Recovery Area, requires a retention policy. No retention policy will cause files in the Flash Recovery Area never become obsolete, causing major issues on the database.

The RMAN status OBSOLETE is always determined in reference to a retention policy. For example, if a database backup is OBSOLETE in the RMAN repository, it is because it is either not needed for recovery to a point within the recovery window, or it is redundant.

If a Flash Recovery Area is configured, then the database uses an internal algorithm to delete files from the Flash Recovery Area that are no longer needed because they are redundant, orphaned, and so forth. The backups with status OBSOLETE form a subset of the files deemed eligible for deletion by the disk quota rules.

When space is required in the Flash Recovery Area, then the following files are deleted:

a) Any backups which have become obsolete as per the retention policy.
b) Any files in the Flash Recovery Area which has been already backed up to a tertiary device such as tape.
c) Flashback logs may be deleted from the Flash Recovery Area to make space available for other required files.

A safe and reliable way to control deletion of files from the Flash Recovery Area is to change the retention policy.

4. Resolving a Full Flash Recovery Area Issues:

There are a number of choices on how to resolve a full Flash Recovery Area when there are NO files eligible for deletion:

- Add disk space to the Flash Recovery Area.

For example :
SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE= ;

- Back up your files to a tertiary device.

RMAN> backup device type 'sbt_tape' recovery area;

- Delete the files from the Flash Recovery Area using RMAN.

- Changing RMAN retention policy.

RMAN> configure retention policy to recovery window of 5 days;

NOTE: If a host operating system command is used to delete files, then the database will not be aware of the resulting free space. Run the RMAN CROSSCHECK command to have RMAN re-check the contents of the Flash Recovery Area and identify the deleted files. Afterwards run DELETE EXPIRED to remove deleted files from the RMAN repository.

Please share your views about this article.


  1. I quite like reading an article that will make people think.
    Also, thanks for allowing for me to comment!
    Feel free to surf my page how to delete cookies from computer

  2. easy to recap...

    1. Friend, Thanks for you comment. Keep visiting this blog.

  3. Umesh-

    Excellent article for a newbie like me. Thank you.


    1. Bill, Thanks for your appreciation.

  4. Great writting! I am from Brazil and just started to follow your blog daily now. Thanks!

  5. This note helps a lot ....

  6. Hi again.
    I like to know how to delete all archive logs.
    with retention policy, I am able to remove all backupfiles like full db back up and incremental backups, but the archive log is keep grown, I like to know how you deal with archive logfile deletion.