Join this Blog for direct reference of any post into your inbox. To join just click on "Join this Site" under "Follower" then Login with your Email.*** DECLARATION: I Maintain this Blog for Helping Myself While at Work and Welcome any body Needing Help!!!.*** CAUTION: Using any of the script from this Blog may contain at Own Risk. These scripts May or May not have been Tested.***

Wednesday, 30 May 2012

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

Possible Cause:
1. Flash Recovery Area Full
2. May be your disk will have free space but still you get the above error messages due to manually deleting archive logs in FRA.
You are making backups to the flash recovery area. You may be using the Oracle disk strategy or just backing up the database to the FRA. All objects written to the FRA will consume space there and to reclaim this space you must backup the FRA files. Once you backup the recovery files they are placed on an internal "file can be deleted" list. Once this is done the reclaimable space increases and Oracle will manage the FRA automatically.

 SQL>SELECT substr(name, 1, 30) name, space_limit AS quota,
  space_used  AS used, space_reclaimable AS reclaimable, number_of_files AS files
  FROM  v$recovery_file_dest;

You can monitor the space in the flash_recovery_area using the above query check out the reclaimable column. If it is 0 then Oralce will not cleanup any files in the db_recovery_file_dest and if reclaimable space is > 0 and the files that were backed up are placed on a file can be deleted list because there is a tape backup of the files. If Oracle needs space after that it will remove the oldest can be delete file available in the FRA. It will remove old archivelogs that have been backed up then backupsets. The only way to increase the reclaimable column is to have RMAN backup the flash recovery area. Once backed up the files in the recovery area are placed on a files that can be deleted list and Oracle will manage the flash recovery area space.
Possible Solution:
SQL> select * from v$flash_recovery_area_usage;
SQL> select * from v$recovery_file_dest;
1. Delete unwanted archive log files from disk.
2. Connect to RMAN and "crosscheck archivelog all";
The above command will marks the control file that the archives have been deleted.
3. rman> delete expired archivelog all;
This will deletes all the log entries identified above.


Post a Comment