Flash Recovery Area – Space Management

How Oracle Manages Disk Space in the Flash Recovery Area

You can 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.

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 server as a kind of cache for tape. Once the FRA is full, Oracle automatically deletes eligible files to reclaim space in the FRA as needed.

The following rules apply for files to become eligible for deletion from the FRA:

– Files that are obsolete under the configured retention policy.
– Transient files that have been copied to tape.
– In a Data Guard environment, archived redolog deletion policy governs when archived redolog files can be deleted from the Flash Recovery Area.

Flash Recovery Area – Space Management Warning and 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:

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 following actions can be done to resolve the space issue:

– Add disk space to the Flash Recovery Area
– Back up your files to a tertiary device
– Delete the files form the Flash Recovery Area using RMAN
– Changing the RMAN retention policy.

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.

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 to never become obsolete, causing major issues with 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 the 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 quote rules.

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

  • Any backups which have become obsolete as per the retention policy.
  • ANy files in the Flash Recovery Area which has been already backed up to a tertiary device such as tape.
  • 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.

Resolving a Full Flash Recovery Area

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

– Make more disk space available, and increase the DB_RECOVERY_FILE_DEST_SIZE to reflect the new space.

Example: SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE = ;

– Use the command BACKUP RECOVERY AREA, to back up the contents of the Flash Recovery Area to a tertiary device such as tape.

Example: RMAN> backup device type ’sbt_tape’ recovery area;

– Delete unnecessary files from the Flash Recovery Area using the RMAN delete command:

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 delete files. Afterwards run DELETE EXPIRED to remove deleted files from the RMAN repository.

– You may also need to consider changing your backup retention policy

Example: RMAN> configure retention policy to recovery window of 30 days;

– When using Data Guard, consider changing your archivelog deletion policy.


About this entry