RelationalDBDesign RelationalDBDesign


Memory Processes   «Prev  Next»
Lesson 5 What are DBWR and ARCH?
ObjectiveLearn about database writer and archive functions.

DBWR | ARCH Process

DBWR process

The database writer is a mandatory process. It writes data blocks from the data buffer cache to the data files. DBWR works using a Least Recently Used (LRU) chain. This means that when you commit a transaction, the data is not automatically written to disk. It may be stored in the data buffer cache memory waiting to be written to disk during a system failure. Certain operating systems (such as Unix) allow you to start multiple database writers. This lets you flush more data out to disk faster. If possible, I always set the db_writers parameter at two (2) per datafile. Pictorially, it looks like this.

Database writer
Database writer

ARCH Process

As mentioned earlier, ARCH is an optional process. This process is created when you operate with automatic archiving enabled. When ARCH is enabled, it copies the redo log entries from the online redo log files to an archive log area. This process is almost mandatory if you have databases operating 24 x 7.
When the LGWR process switches from one Redo Log file to another, the ARCH process is initiated and copies the last unarchived redo log file. The location for the archive log files is defined in init.ora by the LOG_ARCHIVE_DEST parameter. We will discuss the archive process in greater detail later. The LGWR process will check to make sure that a redo log file was archived before it reuses the log file. The archive process is diagrammed below.

Archive process
Archive process

The next lesson discusses log writer functions.