DBWr осуществляет запись в БД Oracle, когда:
- Сработала контрольная точка
- Число модифицированных блоков достигло порогового значения
- Мало свободных блоков
- Истекло время ожидания
- Запрос отклика в RAC. Перевод табличного пространства в автономный режим или состояние 'только чтение'
- Операция drop или truncate над таблицей. Начало горячего резервирования табличного пространства (begin backup).
Процесс записи в базу данных
В кэше буферов серверный процесс собирает изменения, внесенные в блоки отмены и блоки данных. Процесс записи в базу данных (DBWr) записывает модифицированные буферы из кэша буферов базы данных в файлы данных. Он обеспечивает наличие в кэше буферов базы данных достаточного числа свободных буферов - буферов, которые могут быть перезаписаны, когда серверный процесс должен считать блоки из файлов данных. Это улучшает производительность базы данных, так как серверные процессы вносят изменения только в кэш буферов, a DBWn откладывает запись в файлы данных до возникновения одного из следующих событий:
- инкрементальная или обычная контрольная точка;
- число модифицированных буферов достигает порогового значения;
- какой либо процесс, просмотрев определенное количество блоков, не находит свободных буферов;
- истекло время ожидания;
- запрос отклика в среде Real Application Clusters;
- перевод постоянного или временного табличного пространства в автономный режим;
- перевод табличного пространства в режим 'только чтение';
- удаление или усечение таблицы;
- начало горячего резервирования табличного пространства по команде
ALTER TABLESPACE... BEGIN BACKUP
.