The disk file system filled up and the archiver was hung. I removed the archive logs and issued an "alter system switch logfile;" hoping to bump the archiver into starting but it did not work. I didn't want to take the production database down, so what could I do?
Issue a "show parameter log_archive" to see if you are using a multiple destination option log_archive_dest1 or a single one, i.e., log_archive_dest.
If single destination issue:
SQL> alter system set log_archive_dest='' ; System altered.
Then change it to a location where you have room (could be the original location after cleaning up the old archive logs).
SQL> alter system set log_archive_dest='/some_directory_with_space/' System altered.
If all went as expected the arch proc should be back on track and no reboot is required.
If multiple archive_dest(1-x) change to single and follow the above steps.
Roland F. writes:
From reading the problem, it appears to me the person removed the files which would have freed up the space. I am assuming the person then needed to issue the alter system archive log start command to restart the archive process. Where the solution provided just redirected the archive logs to a different storage area. I think the problem would still be the archiver not being started. Maybe I am missing something here, but that is my two cents. Thanks.
I think by this solution you will face the same issue as before. Since you are making some free space in the archive destination and you still have the problem, then what is the use of changing the archive destination? Probably the practical solution will be to increase the log_archive_max_processes to high.
This was first published in June 2006