|René Nyffenegger's collection of things on the web|
René Nyffenegger on Oracle - Most wanted - Feedback
- Follow @renenyffenegger
ARCH is the archiver. It's task is to automatically archive online redo logs so as to prevent them from being overwritten.
The archiver background process is started if the database is in Archive log mode and automatic archiving is enabled.
ARCH can be started independently from the current archive log mode. However, it makes no sense to start ARCH with a database that is in NOARCHIVE log mode. ARCH is started by Oracle if the log_archive_start is set to true.
Arch can be stopped and started dynamically with alter system archive log stop|start. or the SQL*PLUS command ARCHIVE LOG.
In order to permanently have arch started when the database is started, log_archive_start must be set to true;
Query v$archive_processes to find out how many arch processes are running.
ARCH copies the online redo log a bit more intelligently than how the operating system command cp or copy would do: if a log switch is forced, only the used space of the online log is copied, not the entire log file.
By the way, the amount of bytes that have been written to the current online redo log can be determined with x$kcccp.