Thursday, 11 October 2012

Switch Oracle Archive Log Destination

 If the SAP system/Oracle database is 'stuck' due to lack of space in the oraarch folder, the archive log destination can be dynamically changed so that log files are produced in a different location.
  • Create new folder, for example: /oracle/<SID>/sapdata1/arch
  • sqlplus /as sysdba
  • show parameter log_archive_dest;
  • alter system archive log stop;

If log_archive_dest is set:
  • alter system set log_archive_dest='/oracle/<SID>/sapdata1/arch/<SID>arch';

If log_archive_dest_n is set:

  • alter system set log_archive_dest_n='location=/oracle/<SID>/sapdata1/arch/<SID>arch';
  • alter system archive log start;
  • alter system switch logfile;
Note: This step can take a while if the system is busy or the database was previously stuck.

The location of where an archive log has been written is recorded in the Oracle table v$archived_log. Therefore it is not advisable to move the archive log files after the space in oraarch has been freed up - let brarchive backup the files and delete them.