Whenever a server process changes or modifies a data block, it becomes a
dirty block.
Once a server process makes changes to the data block, the user may commit transactions, or transactions may not be committed for quite some time. In either case, the dirty block is not immediately written back to disk.
Writing dirty blocks to disk takes place under the following two conditions:
- When a server process cannot find a clean, reusable buffer after scanning a threshold number of buffers, then the database writer process writes the dirty
blocks to disk.
- When the checkpoint takes place, the database writer process writes the dirty blocks to disk.