automatic archiving does not restart if disk space is full

Upload: robertopereira8

Post on 09-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 Automatic Archiving does not Restart if Disk Space is Full

    1/2

    Automatic Archiving does not Restart if Disk Space is Full

    by Jeff Hunter, Sr. Database Administrator

    Overview

    Consider an Oracle database running in archive log mode with automatic archivingturned on. When the archive log destination disk space becomes full, the automaticarchiving will stop. As per Oracle's documentation, this is the expected behaviour. Atthis point, a message should appear:

    ORA-00257: archiver error. Connect internal only, until freed.When all of the online redo logs are filled up, the database will be in a hung state.

    If you attempt to manually archive the files you may receive the following errors:

    SVRMGR> archive log nextORA-16014: log 1 sequence# 199 not archived, no available

    destinationsORA-00312: online log 1 thread 1:

    '/u03/app/oradata/DBADB/redo_g01a.log'

    SVRMGR> archive log allORA-16020: less destinations available than specified by

    LOG_ARCHIVE_MIN_SUCCEED_DEST

    Solution

    The following is a list of the possible ways to fix this problem:

    1. Use the command:

    alter system archive log all to'/u07/app/oradata/DBADB/archive';

    NOTE : You MUST specify a location ref - ora-16014

    2. Shutdown and restart the database. It may be necessary to do aShutdown abort.3. Use the REOPEN attribute of the LOG_ARCHIVE_DEST_ninit.ora parameter.

    LOG_ARCHIVE_DEST_n=' REOPEN=30'

    Or run the following comand:

    alter system set LOG_ARCHIVE_DEST_n = 'reopen'

    4. Use the commands:

  • 8/7/2019 Automatic Archiving does not Restart if Disk Space is Full

    2/2

    5. alter system archive log stop;alter system archive log start;

    Explanation

    The error ORA-16014 is the real clue for this problem. Once the archive destination becomes full the location also becomes invalid. Normally Oracle does not do a recheck to see if space has been made available.

    1. Using the command:

    alter system archive log all to'/u07/app/oradata/DBADB/archive';

    gives Oracle a valid location for the archive logs. Even after using thisthe archive log destination parameter is still invalid and automatic achivedoes not work. This solution is best for systems that do not archiveregularly but cannot be shutdown. You can also use this to allow you todo a Shutdown immediate instead of Shutdown abort.

    2. Shutdown and restart of the database resets the archive logdestinstation parameter to be valid. Do not forget to make disk spaceavailable before starting the database.3. Use the REOPEN attribute of the LOG_ARCHIVE_DEST_n

    parameter to determine whether and when ARCn attempts to re-archiveto a failed destination following an error. REOPEN applies to all errors,not just OPEN errors. REOPEN=n sets the minimum number of seconds

    before ARCn should try to reopen a failed destination. The default valuefor n is 300 seconds. A value of 0 is the same as turning off the REOPENoption, in other words, ARCn will not attempt to archive after a failure.If you do not specify the REOPEN keyword, ARCn will never reopen adestination following an error.

    http://www.idevelopment.info/data/Oracle/DBA_tips/Backup_and_Recovery/BandR_5.shtml