ORA-16038: log cannot be archived ORA-19809: limit exceeded for recovery filesfirts 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 :)