6 Replies Latest reply: Sep 6, 2013 12:45 PM by HDeiby RSS

    ORA-00257: archiver error. Connect internal only, until freed.

    Shey

      Hello everybody,

      I have been using oracle 11g on windows server 2008 R2 and also use these 2 rman scripts for generating backup level 0(usually run it once a week) and 1(usually run it everyday).

      level 1:

      echo database backup, level 1

      echo %DATE%

      echo %TIME%

      set datetimef=%date:~-4%_%date:~4,2%_%date:~7,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%

      echo %datetimef%

      rman target / @F:\backup1.txt LOG F:\database-backup\rman-logs\%datetimef%.txt

      copy F:\database-backup\rman-logs\%datetimef%.txt F:\database-backup\rman-logs\current-log.txt

       

      level 0:

      echo database backup, level 0

      echo %DATE%

      echo %TIME%

      set datetimef=%date:~-4%_%date:~4,2%_%date:~7,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%

      echo %datetimef%

      rman target / @F:\backup0.txt LOG F:\database-backup\rman-logs\%datetimef%.txt

      copy F:\database-backup\rman-logs\%datetimef%.txt F:\database-backup\rman-logs\current-log.txt

       

      I get this error at least once a month:

       

       

      ORA-00257: archiver error. Connect internal only, until freed.

      Cause: The archiver process received an error while trying to archive a redo log. If the problem is not resolved soon, the database will stop executing transactions. The most likely cause of this message is the destination device is out of space to store the redo log file.

      Action: Check the archiver trace file for a detailed description of the problem. Also, verify that the device specified in the initialization parameter archive_log_dest is set up properly for archiving.


      And database goes down, so I use my rman backups to recover the database. But this time when I recover the database and users start working with it , after few minutes, , the same problem happens and database goes down again!


      I've tried :
      alter system set db_recovery_file_dest_size=<new_size>
      alter system switch logfile;

       

      it used to fix the database before but since 2,3 months ago, it has not been working anymore.

       

      Could you please help me to find the reason and prevent it to occur this frequently?

       

      Regards

        • 1. Re: ORA-00257: archiver error. Connect internal only, until freed.
          sb92075

          the FRA is likely filling up.

          • 2. Re: ORA-00257: archiver error. Connect internal only, until freed.
            Shey

            Thanks for your attention. Could you explain more please?

            • 3. Re: ORA-00257: archiver error. Connect internal only, until freed.
              EdStevens

              Shey wrote:

               

              Hello everybody,

              I have been using oracle 11g on windows server 2008 R2 and also use these 2 rman scripts for generating backup level 0(usually run it once a week) and 1(usually run it everyday).

              level 1:

              echo database backup, level 1

              echo %DATE%

              echo %TIME%

              set datetimef=%date:~-4%_%date:~4,2%_%date:~7,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%

              echo %datetimef%

              rman target / @F:\backup1.txt LOG F:\database-backup\rman-logs\%datetimef%.txt

               

               

              That's nice.  So what's in F:\backup1.txt, that's actually telling rman what to do?

               

               

              copy F:\database-backup\rman-logs\%datetimef%.txt F:\database-backup\rman-logs\current-log.txt

               

              level 0:

              echo database backup, level 0

              echo %DATE%

              echo %TIME%

              set datetimef=%date:~-4%_%date:~4,2%_%date:~7,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%

              echo %datetimef%

              rman target / @F:\backup0.txt LOG F:\database-backup\rman-logs\%datetimef%.txt

               

              Again, you are leaving us to guess what rman is actually doing.

               

               

              copy F:\database-backup\rman-logs\%datetimef%.txt F:\database-backup\rman-logs\current-log.txt

               

              I get this error at least once a month:

               

               

              ORA-00257: archiver error. Connect internal only, until freed.

              Cause: The archiver process received an error while trying to archive a redo log. If the problem is not resolved soon, the database will stop executing transactions. The most likely cause of this message is the destination device is out of space to store the redo log file.

              Action: Check the archiver trace file for a detailed description of the problem. Also, verify that the device specified in the initialization parameter archive_log_dest is set up properly for archiving.


              And database goes down, so I use my rman backups to recover the database. But this time when I recover the database and users start working with it , after few minutes, , the same problem happens and database goes down again!


              I've tried :
              alter system set db_recovery_file_dest_size=<new_size>
              alter system switch logfile;

               

              it used to fix the database before but since 2,3 months ago, it has not been working anymore.

               

              Could you please help me to find the reason and prevent it to occur this frequently?

               

              Regards

              You obviously are not doing any housekeeping on your archivelog files.  The key will be in those rman scripts you didn't show us.

               

              You can't just keep increasing the size of the FRA.  That is just a bookkeeping budget.  Eventually you have to deal with the reality of finite disk capacity.

              • 5. Re: ORA-00257: archiver error. Connect internal only, until freed.
                Hemant K Chitale

                Apparently, ArchiveLogs are not being purged.  Either your backup script should be deleting them after they are backed up OR another script should be separately deleting them (only after they are backed up !).

                 

                Note : You don't need RMAN to  recover the database.  You simply need to purge archivelogs --- using the RMAN command DELETE ARCHIVELOG ...

                 

                Hemant K Chitale

                • 6. Re: ORA-00257: archiver error. Connect internal only, until freed.
                  HDeiby

                  Execute next sentence from RMAN:

                   

                  CROSSCHECK ARCHIVELOG ALL;

                  DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;

                   

                  check free space again from sqlplus:

                   

                  select name, total_mb, free_mb from v$asm_diskgroup;