Hallo zusammen,
der Osterhase hat mit ein schönes Ei ins Nest gelegt. Am 2.4. habe ich in meinem Protokoll folgendes stehen:
2010-04-02 02:17:34 CEST LOG: Systemlogger-Prozess (PID 31994) wurde von Signal 9 beendet
2010-04-02 02:17:34 CEST LOG: Background-Writer-Prozess (PID 31996) wurde von Signal 9 beendet
2010-04-02 02:17:34 CEST LOG: aktive Serverprozesse werden abgebrochen
2010-04-02 02:17:34 CEST LOG: alle Serverprozesse beendet; initialisiere neu
2010-04-02 02:18:03 CEST postgres postgres FATAL: das Datenbanksystem startet
2010-04-02 02:18:03 CEST LOG: Datenbanksystem wurde am 2010-04-02 02:15:12 CEST unterbrochen
2010-04-02 02:18:03 CEST LOG: konnte Datei »pg_xlog/0000000100000009000000F6« nicht öffnen (Logdatei 9, Segment 246): Datei oder Verzeichnis nicht gefunden
2010-04-02 02:18:03 CEST LOG: ungültiger Checkpoint-Datensatz
2010-04-02 02:18:03 CEST PANIK: konnte den nötigen Checkpoint-Datensatz nicht finden
2010-04-02 02:18:03 CEST TIPP: Wenn Sie kein Backup wiederherstellen, versuchen Sie, die Datei »/var/lib/pgsql/data/backup_label« zu löschen.
2010-04-02 02:18:03 CEST LOG: Start-Prozess (PID 14209) wurde von Signal 6 beendet
2010-04-02 02:18:03 CEST LOG: Serverstart abgebrochen wegen Start-Prozess-Fehler
2010-04-02 02:18:28 CEST FATAL: Archivbefehl »test ! -f /var/lib/pgsql/archive/tx_log/000000010000000B0000001C && cp pg_xlog/000000010000000B0000001C /var/lib/pgsql/archive/tx_log/000000010000000B000001C« fehlgeschlagen: Fehlercode 3
2010-04-02 02:18:28 CEST LOG: Logger fährt herunter
Damit verbunden stand die DB - bis heute. Den Datenbankserver neu starten ging nicht, dann kam der hier:
2010-04-06 08:24:06 CEST LOG: Datenbanksystem wurde am 2010-04-02 02:15:12 CEST unterbrochen
2010-04-06 08:24:06 CEST LOG: konnte Datei »pg_xlog/0000000100000009000000F6« nicht öffnen (Logdatei 9, Segment 246): Datei oder Verzeichnis nicht gefunden
2010-04-06 08:24:06 CEST LOG: ungültiger Checkpoint-Datensatz
2010-04-06 08:24:06 CEST PANIK: konnte den nötigen Checkpoint-Datensatz nicht finden
2010-04-06 08:24:06 CEST TIPP: Wenn Sie kein Backup wiederherstellen, versuchen Sie, die Datei »/var/lib/pgsql/data/backup_label« zu löschen.
2010-04-06 08:24:06 CEST LOG: Start-Prozess (PID 31424) wurde von Signal 6 beendet
2010-04-06 08:24:06 CEST LOG: Serverstart abgebrochen wegen Start-Prozess-Fehler
2010-04-06 08:24:06 CEST LOG: Logger fährt herunter
Die fehlende Datei (eigentlich waren es zwei) habe ich aus dem Archiv zurückkopiert, dann ist der Server wieder gestartet, hatte aber folgendes bei INSERTs zu meckern:
2010-04-06 08:49:17 CEST mediweb mediweb FEHLER: duplizierter Schlüssel verletzt Unique-Constraint »auth_user_pkey«
Da die Applikation bisher aber immer fehlerfrei lief, schließe ich die derzeit aus. Habe also versucht, ein VACUUM FULL zu machen. Das hat mir gesagt, geht nicht, da das tx_log nicht geschrieben werden kann:
2010-04-06 08:54:57 CEST FEHLER: xlog flush request A/910115D0 is not satisfied --- flushed only to 9/F8005FBC
2010-04-06 08:54:57 CEST ZUSAMMENHANG: schreibe Block 0 von Relation 1663/66156/75859
Das kam dann permantent:
2010-04-06 09:30:43 CEST FEHLER: xlog flush request A/39067B04 is not satisfied --- flushed only to A/31D47E24
2010-04-06 09:30:43 CEST ZUSAMMENHANG: schreibe Block 216201 von Relation 1663/66156/91817
2010-04-06 09:30:43 CEST WARNUNG: konnte Block 216201 von 1663/66156/91817 nicht schreiben
2010-04-06 09:30:43 CEST DETAIL: Mehrere Fehlschläge --- Schreibfehler ist möglicherweise dauerhaft.
Ich habe dann mit
pg_resetxlog -f /var/lib/pgsql/data
das Transaktionslog resettet… Und nun kann ich eine der DBs gar nicht mehr verbinden:
2010-04-06 09:57:12 CEST mediweb postgres FATAL: XX000: cache lookup failed for relation 2659
2010-04-06 09:57:12 CEST mediweb postgres ORT: RelationCacheInitializePhase2, relcache.c:2433
Das System ist ein SLES 10 mit PG 8.2.
Hat jemand eine Idee?
murphy