9 Replies Latest reply: Apr 22, 2013 10:27 PM by Hemant K Chitale RSS

    Your first step in resolving Archive destination Full issue.

    martin75
      DB version:11.2.0.3/Solaris 10

      When the Archive destination (LOG_ARCHIVE_DEST_1 ) is full , what would be your first step in resolving the Archiver error so that business can continue accessing the DB ?
        • 1. Re: Your first step in resolving Archive destination Full issue.
          FreddieEssex
          Move the archive logs to another destination where there is disk space so database can continue on it's merry way.

          Back up these archivelogs to RMAN and use RMAN to delete any obsolete archive logs.
          • 2. Re: Your first step in resolving Archive destination Full issue.
            martin75
            If we move the arch logs, then DB will lose track of those arch logs. Right ?
            If I remember correctly , the moved archive logs will be marked as EXPIRED by RMAN.

            Since LOG_ARCHIVE_DEST_1 is dynamic, Can I temporarily change it to a file system location/Disk group where there is enough space ?
            • 3. Re: Your first step in resolving Archive destination Full issue.
              FreddieEssex
              You can catalog the archivelogs which you have moved using the following RMAN command.

              http://docs.oracle.com/cd/E25054_01/backup.1111/e10642/rcmcatdb.htm#CHDGAEJI

              For multiple files in a location:
              catalog start with '<new_location>';
              For a single/multiple archive logs:
              catalog archivelog '<name_of_archivelog>';
              PS: You are correct they will be marked as expired if you just move them and don't tell RMAN about it.
              • 4. Re: Your first step in resolving Archive destination Full issue.
                1002948
                If you have latest backup you can delete archive logs which are generated before the latest backup as those modified data will be included in current latest backup

                or if you are using rman for backups you can use following command

                backup database plus archivelog delete input.

                Edited by: Varun Rajesh on Apr 22, 2013 3:59 AM
                • 5. Re: Your first step in resolving Archive destination Full issue.
                  EdStevens
                  Varun Rajesh wrote:
                  If you have latest backup you can delete archive logs which are generated before the latest backup as those modified data will be included in current latest backup
                  IT depends on what you mean by 'current latest backup' and what your recovery needs may be.

                  Take an incremental level 0 backup on Sunday at 0100
                  Take an incremental level 1 backup on Mon-Sat at 0100

                  Now, with your advice, on Wednesday I delete all archivelogs from Monday. Should be safe because I have two level 1 backups later than those archivelogs.

                  Now, I have a need to do a point it time recovery to 1543 on Monday. Can't do it because I deleted all the necessary archivelogs.


                  >
                  or if you are using rman for backups you can use following command

                  backup database plus archivelog delete input.

                  Edited by: Varun Rajesh on Apr 22, 2013 3:59 AM
                  • 6. Re: Your first step in resolving Archive destination Full issue.
                    EdStevens
                    martin75 wrote:
                    If we move the arch logs, then DB will lose track of those arch logs. Right ?
                    If I remember correctly , the moved archive logs will be marked as EXPIRED by RMAN.

                    Since LOG_ARCHIVE_DEST_1 is dynamic, Can I temporarily change it to a file system location/Disk group where there is enough space ?
                    You can, and I have in the past, but that wouldn't be my first choice.

                    the moved archives won't be marked as expired until you do a crosscheck, but if you move them you should do that, followed by a 'catalog' so rman will continue to know where they are - as mentioned by Freddie Essex. Something you need to understand about this whole thing is that if the log destination is specified as the FRA, you must inform rman of what you are doing, or else it will continue to believe the space is full.

                    Also, no stopping of the database is required for any of this. In fact, when the archiver is hung, the database is really still up, it's just not accepting any more work until the issue is resolved. And when it is resolved, the database will continue on as if nothing happened.

                    Once the immediate issue is resolved, you should address why it it happened. 99.9% of the time it is simply because there weren't regular backup and delete of the archivelogs.
                    • 7. Re: Your first step in resolving Archive destination Full issue.
                      Hemant K Chitale
                      You can do :
                      a. Move ArchiveLogs to another location --- which clears space and allows Oracle to continue archiving
                      b. CROSSCHECK ARCHIVELOG to mark the moved ones as EXPIRED and then CATALOG them in the new location
                      c. BACKUP ARCHIVELOG (and, depending on your backup implementation, DELETE INPUT or not)


                      And/OR
                      a. Reset LOG_ARCHIVE_DEST_1 to another location
                      b. BACKUP ARCHIVELOG ... DELETE INPUT
                      c. Reset LOG_ARCHIVE_DEST_1 to the original location


                      Hemant K Chitale
                      • 8. Re: Your first step in resolving Archive destination Full issue.
                        martin75
                        Thank you very much Hemant, Ed


                        EdStevens: "+Something you need to understand about this whole thing is that if the log destination is specified as the FRA, you must inform rman of what you are doing, or else it will continue to believe the space is full+"


                        All our RAC DBs are Orale Enterprise Linux 6.We use FRA but it is not in a disk group . They are in ACFS as shown below
                        SQL> show parameter log_archive_dest
                        
                        NAME                                 TYPE        VALUE
                        ------------------------------------ ----------- ------------------------------
                        log_archive_dest                     string
                        log_archive_dest_1                   string      location=USE_DB_RECOVERY_FILE_DEST
                        .
                        .
                        SQL> show parameter DB_RECOVERY_FILE_DEST
                        
                        NAME                                 TYPE        VALUE
                        ------------------------------------ ----------- ------------------------------
                        db_recovery_file_dest                string      /oracle_fra
                        db_recovery_file_dest_size           big integer 12000G
                        
                        
                        oracle@HEWPRAC3> select name from v$archived_log where name is not null;
                        
                        NAME
                        ------------------------------------------------------------------------------------------------------------------------
                        /oracle_fra/HEWPRAC/archivelog/2013_04_20/o1_mf_3_74420_8q50txpk_.arc
                        /oracle_fra/HEWPRAC/archivelog/2013_04_20/o1_mf_1_84200_8q50ttmh_.arc
                        .
                        .
                        .
                        .
                        Ed said if the FRA is full and we are moving the arch logs to a different location , we must inform rman of what you are doing.
                        We can let RMAN know of the new (temporary) location the archive logs by using CATALOG command, but how will we let oracle know that the FRA location has some free space left now. Last month , in one of our RAC DBs we had archiver error because the FRA was full. Even after moving some arch logs to a different location oracle continued to believe the space was full
                        • 9. Re: Your first step in resolving Archive destination Full issue.
                          Hemant K Chitale
                          but how will we let oracle know that the FRA location has some free space left now.
                          CROSSCHECK ARCHIVELOG ALL;
                          DELETE EXPIRED ARCHIVELOG ALL;

                          will "clear" the usage of the FRA. you can query V$FAST_RECOVERY_AREA_USAGE before and after these commands.


                          Hemant K Chitale