Google it ....

Showing posts with label ORA-16038: log cannot be archived ORA-19809: limit exceeded for recovery files. Show all posts
Showing posts with label ORA-16038: log cannot be archived ORA-19809: limit exceeded for recovery files. Show all posts

Thursday, February 27, 2014

Textual description of firstImageUrl

ORA-16038: log cannot be archived ORA-19809: limit exceeded for recovery files

When I was making backup with rman it was throwing error:
ORA-16038: log cannot be archived 
ORA-19809: limit exceeded for recovery files
firts we need to check alert.log that shows next:
ARC3: Error 19809 Creating archive log file to '+DISKS'
Errors in file /u0/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_arc0_3481.trc:
ORA-19815: WARNING: db_recovery_file_dest_size of 5218762752 bytes is 100.00% used, 
and has 0 remaining bytes available.
************************************************************************
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.
************************************************************************


Now we know what is problem, we have flash recovery area which is full, check it:
SQL> show parameter db_recovery_file_dest;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      +DISKS
db_recovery_file_dest_size           big integer 4977M

select * from v$flash_recovery_area_usage;

result:




flash recovery area is full therefore, we have two option to solve this problem:
1) add size to flash_recovery_area if we have free disk space.
SQL> alter system set db_recovery_file_dest_size=XG; (larger amount)

2) delete some archivelogs for free up flash_recovery_area.
RMAN> crosscheck archivelog all;
....
RMAN> delete expired archivelog all;
....
RMAN> delete obsolete;


that's all.
Thank you :)