In today’s article, I will explain the concept of the Database Writer Process, which retrieves data blocks modified by Insert, Update, or Delete operations from the database buffer cache and writes them to data files.
If the data to be accessed is not in the database buffer cache, it is responsible for moving the data from data files to the database buffer cache.
Redo log writes log information about each DML and DDL operations to the Buffer.
In DBW(n), n can be 9 units. 9 processes can run at the same time. For this, we need to set the DB_WRITER_PROCESS parameter.
1 2 3 4 5 | SQL> show parameter db_writer NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_writer_processes integer 1 |
By default, there is 1 DBW process when the database is first created. It is seen as DBW0 on the operating system side.
DBW writes the following frequently changing blocks to data files.
1. If there is no space left in the Database Buffer Cache,
2. If a tablespace is decommissioned (offline),
3. If a tablespace is read-only,
4. If a table is dropped,
5. If a table is truncated,
6. If a tablespace is put into backup mode,
7. If a check point occurs.
In addition, changed data blocks are written manually to data files.
1 2 3 | SQL> ALTER SYSTEM CHECKPOINT; System altered. |