Старт процесса Watchdog
Во время работы базы данных могут возникать ситуации, когда сессии базы данных завершаются ненадлежащим образом, оставляя после себя «мёртвые» процессы. Такие процессы не только могут занимать ценные системные ресурсы, но и приводить к снижению производительности базы данных. Чтобы исключить эту потенциальную проблему, администратор должен стартовать процесс watchdog.
Процесс watchdog – это фоновый процесс, который проверяет локальных клиентов, чтобы своевременно обнаружить неактивные (неправильно завершённые) сессии. Если такой процесс обнаруживается, то watchdog освобождает любые удерживаемые этим процессом локировки и прочие структуры в разделяемой памяти, затем откатывает незавершённые транзакции и закрывает соединение.
Если потерянный процесс является сервером, то watchdog отключит и очистит всех его дистанционных клиентов. Обратите внимание на то, что watchdog непосредственно не обнаруживает потерянных дистанционных клиентов, поскольку такие клиенты не связанны с базой данных напрямую. Вместо этого о потере соединения сервер уведомляет механизм тайм-аута сетевого протокола.
Процесс watchdog также контролирует наличие процесса брокера и проверяет существование .lk-файла и его корректность. Если какая-либо из этих проверок не пройдёт, то watchdog инициирует аварийное завершение базы данных, тем самым защищая её от вероятных повреждений.
Первичный брокер базы данных то же может выполнять функцию процесса watchdog, но не часто, поэтому наличие выделенного процесса watchdog улучшает производительность и защищённость базы данных. Таким образом, в качестве хорошей практики, после старта базы данных должен быть стартован процесс watchdog.
Команда старта процесса watchdog для работающей базы данных:
prowdog db-name
Для одной базы данных может быть стартован только одни процесс watchdog.