Datenbank öffnet nicht / nicht erreichbar
Symptom
Keine Verbindung zum Dienst, 'connection refused', die Instanz startet nicht, der Listener antwortet nicht.
1. Wo bricht es ab: Netzwerk, Dienst oder Instanz
Ist der Server erreichbar (ping/ssh)? Läuft der DB-Prozess/-Dienst (ps/systemctl/services.msc)? Lauscht der Port (ss -ltnp / telnet host port)? So ordnest du das Problem einer Schicht zu: Netzwerk / Dienst / Datenbankinstanz.
2. Dienst und Listener prüfen
Läuft der DB-Prozess nicht, versuche ihn zu starten; läuft er, aber Verbindungen schlagen fehl, prüfe Listener/Port und die Authentifizierungsschicht.
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. Logs lesen – dort steht die Antwort
Öffnet die DB nicht, steht der Grund im Log: Alert Log (Oracle), postgresql.log / Startup, mysqld-Error-Log, SQL Server ERRORLOG, Redis-Log. Volle Platte, beschädigte Datei, Berechtigungen, Portkonflikt, fehlende Datei – alles zeigt sich hier.
4. Häufige Ursachen angehen: Platte, Berechtigungen, Port, Korruption
Ist die Platte zu 100 % voll (häufigste Ursache)? Sind die Berechtigungen des Datenverzeichnisses defekt? Ist der Port von einem anderen Prozess belegt? Ist eine Recovery nötig (nach einem Absturz)? Ist eine Control File oder ein Redo-Log beschädigt? Gehe jede Ursache anhand der Meldung im Log gezielt an.
5. Wiederherstellen und einen Incident-Bericht führen
Die Crash Recovery läuft meist automatisch durch; hab Geduld. Liegt Korruption vor, stelle aus dem Backup/per PITR wieder her (siehe das Korruptions-Playbook). Schreibe danach eine Ursachenanalyse (RCA): was passiert ist, warum und wie eine Wiederholung verhindert wird.