DBAtlas · Atlas de operações de banco de dados

O banco não abre / inacessível

Sintoma

Não é possível conectar ao serviço, 'connection refused', a instância não sobe, o listener não responde.

1. Onde quebra: rede, serviço ou instância

O servidor está acessível (ping/ssh)? O processo/serviço do banco está rodando (ps/systemctl/services.msc)? A porta está escutando (ss -ltnp / telnet host porta)? Isso situa o problema em uma camada: rede / serviço / instância do banco.

2. Verifique o serviço e o listener

Se o processo do banco não estiver no ar, tente iniciá-lo; se estiver no ar, mas as conexões falharem, veja o listener/porta e a camada de autenticação.

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 start

MySQL

-- OS: systemctl status mysqld ; mysqladmin ping

SQL Server

-- Services / SQL Server Configuration Manager; SQL Server Error Log

Redis

redis-cli ping  # expect PONG

3. Leia os logs — a resposta está lá

Se o banco não abre, o motivo está escrito no log: alert log (Oracle), postgresql.log / inicialização, error log do mysqld, ERRORLOG do SQL Server, log do redis. Disco cheio, arquivo corrompido, permissões, conflito de porta, arquivo ausente — tudo aparece aqui.

4. Trate as causas comuns: disco, permissões, porta, corrupção

O disco está 100% cheio (a causa mais comum)? As permissões do diretório de dados estão quebradas? A porta está ocupada por outro processo? É preciso recovery (após uma queda)? Um control file/redo log está corrompido? Ataque cada um com base na mensagem do log.

5. Recupere e registre o incidente

O crash recovery geralmente termina sozinho; tenha paciência. Se houver corrupção, recupere a partir de backup/PITR (veja o playbook de Corrupção). Depois, escreva uma análise de causa raiz (RCA): o que aconteceu, por que, e como evitar a recorrência.

Abrir no DBAtlas →