1. When the DIRTY LIST length in Buffer Cache reaches threshold: DBW0 writes Dirty Buffer in Dirty List (user server process) When finding free buffer in LRU List, you will be moved into dirty list)
2. When User Server Process searches for too long in the LRU LIST of Buffer Cache, free Buffer: DBW0 writes DIRTY BUFFER directly from LRU LIST
3. Every 3 seconds: DBW0 moves Dirty Buffers from the LRU LIST to Dirty List, once the DIRTY LIST length reaches the threshold, DBW0 writes the data to disk
4. Checkpoint occurs: DBW0 puts all Dirty buffers from the LRU LIST to Dirty List, and start writing data
5. When TableSpace starts hot backup: DBW0 moves all Dirty Buffers that belongs to the table space from LRU LIST to Dirty List, and start writing data
6. When TableSpace Offline: DBW0 puts all Dirty Buffers that belongs to the table space from LRU LIST to Dirty List, and start writing data
7. When executing DROP: DROP TABLE or INDEX will cause dbw0 to write Dirty Blocks belonging to this segment into disk