Processo DBWR
O processo Database Writer (DBWR) gerencia o database buffer cache para que os processos dos usuários sempre localizem blocos livres para o processamento de seus comandos.
Ele escreve todos os buffers alterados para os arquivos de dados, usando o algoritmo LRU para manter os blocos mais utilizados em memória.
O DBWR adia ao máximo a escrita dos blocos alterados para a otimização do I/O em disco, que é uma das principais causas para a queda da performance de um banco de dados.
O processo DBWR escreve os blocos alterados para o disco quando:
- A dirty list ultrapassar um certo limite. Essa lista é usada no database buffer cache e contém os buffers alterados.
- Um processo pesquisar um número específico de buffers na LRU sem encontrar um bloco livre.
- Ocorrer o time-out, ou seja, quando um certo tempo limite for ultrapassado. Esse tempo limite geralmente é de três segundos.
- Ocorrer um checkpoint.