База данных не открывается / недоступна
Симптом
Не удаётся подключиться к сервису, 'connection refused', экземпляр не запускается, listener не отвечает.
1. Где обрыв: сеть, сервис или экземпляр
Доступен ли сервер (ping/ssh)? Запущен ли процесс/сервис БД (ps/systemctl/services.msc)? Слушается ли порт (ss -ltnp / telnet host port)? Это локализует проблему на одном уровне: сеть / сервис / экземпляр базы данных.
2. Проверьте сервис и listener
Если процесс БД не запущен, попробуйте его запустить; если запущен, но подключения не проходят, проверьте listener/порт и уровень аутентификации.
Oracle
-- OS: lsnrctl status (listener)
-- SQL*Plus: STARTUP; (if the instance is down)
SELECT status FROM v$instance;PostgreSQL
-- OS: systemctl status postgresql ; pg_isready -h host
-- Logs: the last lines tell why it did not startMySQL
-- OS: systemctl status mysqld ; mysqladmin pingSQL Server
-- Services / SQL Server Configuration Manager; SQL Server Error LogRedis
redis-cli ping # expect PONG3. Читайте журналы — ответ там
Если БД не открывается, причина записана в журнале: alert log (Oracle), postgresql.log / startup, mysqld error log, SQL Server ERRORLOG, журнал redis. Заполненный диск, повреждённый файл, права доступа, конфликт портов, отсутствующий файл — всё видно здесь.
4. Разберите типичные причины: диск, права, порт, повреждение
Диск заполнен на 100% (самая частая причина)? Нарушены права на каталог данных? Порт занят другим процессом? Требуется восстановление (после сбоя)? Повреждён control file/redo log? Действуйте по каждому пункту исходя из сообщения в журнале.
5. Восстановите работу и зафиксируйте инцидент
Восстановление после сбоя (crash recovery) обычно завершается автоматически; наберитесь терпения. При повреждении восстанавливайтесь из бэкапа/PITR (см. плейбук «Повреждение данных»). После этого напишите анализ первопричины (RCA): что произошло, почему и как предотвратить повторение.