Background Processes for an Instance

The background processes shown in Figure 1-5 are:

Database Writer (DBWR)

This process writes database blocks from the database buffer cache in the SGA to the datafiles on disk. An Oracle instance can have up to 10 DBWR processes, named DBW0 through DBW9, if needed, to handle the I/O load to multiple datafiles. Most instances run one DBWR. DBWR writes blocks out of the cache for two main reasons:

  • To perform a checkpoint. A checkpoint is the technical term for updating the blocks of the datafiles so that they “catch up” to the redo logs. Oracle writes the redo for a transaction when it is committed and later writes the actual blocks. Periodically, Oracle performs a checkpoint to bring the datafile contents in line with the redo that was written out for the committed transactions.

  • To free space in the cache. If Oracle needs to read blocks requested by users into the cache and there is no free space in the buffer cache, DBWR is called to write out some blocks to free space. The blocks written out are the least recently used blocks. Writing blocks in this order minimizes the performance impact of losing them from the buffer cache.

Log Writer (LGWR)

This process writes the redo information from the log buffer in the SGA to all copies of the current redo log file on disk. As transactions proceed, the associated redo information is stored in the redo log buffer in the SGA. When a transaction is committed, Oracle makes the redo information permanent by invoking ...

Get Oracle in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.