DBAtlas · Database operations atlas

Database won't open / unreachable

Symptom

Cannot connect to the service, 'connection refused', the instance does not start, the listener does not respond.

1. Where does it break: network, service or instance

Is the server reachable (ping/ssh)? Is the DB process/service running (ps/systemctl/services.msc)? Is the port listening (ss -ltnp / telnet host port)? This places the problem in one layer: network / service / database instance.

2. Check the service and the listener

If the DB process is not up, try starting it; if it is up but connections fail, look at the listener/port and the auth layer.

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. Read the logs — the answer is there

If the DB does not open, the reason is written to the log: alert log (Oracle), postgresql.log / startup, mysqld error log, SQL Server ERRORLOG, redis log. Full disk, corrupted file, permissions, port conflict, missing file — all show up here.

4. Address common causes: disk, permissions, port, corruption

Is the disk 100% full (the most common cause)? Are data directory permissions broken? Is the port taken by another process? Is recovery needed (after a crash)? Is a control file/redo log corrupted? Target each one based on the message in the log.

5. Recover and keep an incident record

Crash recovery usually completes automatically; be patient. If there is corruption, recover from backup/PITR (see the Corruption playbook). Afterwards, write a root cause analysis (RCA): what happened, why, and how to prevent recurrence.

Open in DBAtlas →