Datenbank zerschossen?

Hallo,

Ich bin mir unsicher, ob ich hier überhaupt richtig bin, aber ich versuch es trotzdem mal.
Ich erhalte beim starten von postgreSQL folgende Fehlermeldung in den logs:

2010-03-06 15:37:10 CET LOG: database system was interrupted while in recovery at 2010-03-06 13:43:26 CET
2010-03-06 15:37:10 CET HINT: This probably means that some data is corrupted and you will have to use the last backup for recovery.
2010-03-06 15:37:10 CET LOG: database system was not properly shut down; automatic recovery in progress
2010-03-06 15:37:10 CET LOG: loaded library “$libdir/plugins/plugin_debugger.dll”
2010-03-06 15:37:10 CET FATAL: the database system is starting up
2010-03-06 15:37:10 CET LOG: redo starts at E8/B800E058
2010-03-06 15:37:11 CET LOG: loaded library “$libdir/plugins/plugin_debugger.dll”
2010-03-06 15:37:11 CET FATAL: the database system is starting up
2010-03-06 15:37:12 CET LOG: loaded library “$libdir/plugins/plugin_debugger.dll”
2010-03-06 15:37:12 CET FATAL: the database system is starting up

Vielleicht helfen diese beiden Screenshots ja weiter
Imageshack - erroros.jpg
Imageshack - error1j.jpg

Ich habe es mit einer Neuinstallation auch schonmal wieder zum Laufen bekommen, jedoch nur mit einer leeren DB. Gibt es eventuell die Möglichkeit die DB 48h zurückzuspulen quasi, da ich glaub,dass ich mir beim importieren von Händen (Holdem Manager) die DB wohl zerschossen hab.

Danke

Sorry, aber ich konnte jetzt nicht den Bearbeiten-Button finden.

Gibt es vielleicht die Möglichkeit irgendwie anders auf die DB zugreifen zu können, oder muss man wirklich vorher immer den Dienst erstmal ans Laufen bekommen, um an der DB etwas verändern zu können.
Ich glaube ich habe mir fehlerhafte Dateien importiert und es würde eventuell wieder laufen, wenn ich diese erneut importiere.

Ja, das ist das Prinzip eines Datenbank Servers

Ich glaube ich habe mir fehlerhafte Dateien importiert und es würde eventuell wieder laufen, wenn ich diese erneut importiere.

Durch einen Import (z.B. über pg_restore oder ein SQL script) kann man die Daten nicht so zerschiessen, dass die DB nicht mehr startet.

Wie hast Du denn die Dateien “importiert”?

Das ist wohl wahr, also, gib mal Butter bei die Fische und erkläre der staunenden Leserschaft hier, was Du genau gemacht hast.

Ach ja, was die Rettung Deiner DB betrifft: spiel das letzte Backup ein und gut is.


Andreas

Ich habe Hände mit dem Programm Holdem Manager eingelesen, das ist ein Programm womit man bessere Statistiken über seine Gegner beim Onlinepoker erhält.

Kann es vielleicht sein,dass meine externe Festplatte kaputt ist (Da war die DB drauf, ich hab die nun mal eben verschoben) und es deswegen nicht mehr startet?
Ich habe per Explorer noch vollen Zugriff auf die Daten, formatier diese jedoch gerade seit rund 8 Stunden, wobei die Platte gerade mal 1TB Speicher hat

Das mit dem Backup fällt wohl auch leider weg, da ich wie gesagt den Dienst gar nicht mehr starten konnte und somit gar keinen Zugriff auf die DB mit Tools wie pgadminIII hatte.

Wie liest man denn Hände in eine Datebank ein? Ich tippe mit meinen Händen…

Offensichtlich hat das “einlesen” mit diesem Holdem Manager was kaputt gemacht → wende Dich an den Hersteller.

Ansonsten:
Datenverzeichnis komplett löschen
initdb laufen lassen um das Datenverzeichnis neu zu erzeugen
Details dazu im Handbuch: PostgreSQL: Documentation: 16: 19.2. Creating a Database Cluster

Wie Du dann die Datenbank für die Anwendung neu erstellst muss im Handbuch von diesem komischen Programm stehen.

Eine leere, neue Datenbank hab ich schon bereits hinbekommen. Jedoch würde ich zum erneuten einlesen mehrere Wochen brauchen, was also für mich wirklich nur die letzte Option wäre.

Man liest die Hände aus einer .txt Datei ein, wie genau das funkioniert weiss ich leider nicht, da es nur einen “Import” Button gibt.

Ich hatte beim Einlesen allerdings eine Warnmeldung von meinem Kaspersky bekommen,dass eine Datei einen Virus enthält, woraufhin ich diese zu erst gelöscht hab, später aber wiederhergestellt hab.
Kann es dabei zu dem Fehler gekommen sein?

Das Problem an der Sache ist einfach,dass ich den Dienst nicht mehr zum Laufen bekomme und somit auch keinen Zugriff auf meine Datenbank hab. Gibt es irgendwie einen Trick, irgendwelche Logfiles, ähnliches, was mir Aufschluss darauf geben könnte, wieso der Dienst nicht mehr startet? Neben den geposteten Screenshots hab ich bisher leider keinerlei Informationen wieso es nicht starten will.

Schaut so aus, als ob das der einzige Weg ist.


Ich hatte beim Einlesen allerdings eine Warnmeldung von meinem Kaspersky bekommen,dass eine Datei einen Virus enthält, woraufhin ich diese zu erst gelöscht hab, später aber wiederhergestellt hab.
Kann es dabei zu dem Fehler gekommen sein?

Autsch! Wieso löscht Du einfach Dateien, von denen Du keine Ahnung hast wofür die verwendet werden?
Welche Datei war denn das genau?
Aber so aus dem Bauch raus, würde ich sagen, damit hast Du Deine Datenbank selber geschrottet.

Generell gilt: sag dem Kaspersky er soll die Finger vom Datenverzeichnis der Datenbank lassen

Gibt es irgendwie einen Trick, irgendwelche Logfiles, ähnliches, was mir Aufschluss darauf geben könnte, wieso der Dienst nicht mehr startet? Neben den geposteten Screenshots hab ich bisher leider keinerlei Informationen wieso es nicht starten will.

Logfiles liegen normalerweise im Datenverzeichnis. Ob das dieser merkwürdige Manager bei der Installation aber auch so definiert hat kann ich nicht sagen. Auch hier gilt wieder → Hersteller fragen (haben die eigentlich kein Support-Forum?)

Ansonsten gilt: Du hast offensichtlich eine wichtige Datei gelöscht, deswegen startet der Dienst nicht mehr.
Ohne Backup ist das Zeug futsch.

Ich versuch jetzt gerade nochmal Neuninstallation von postgreSQL, wobei ich keine neue Datenbank anlegen werde, sondern versuchen werde die alte wiederzuverwenden, vielleich hatte ich mir auch irgendwas bei postgreSQL selber abgeschossen, ich werd mich dann nochmal mit dem hoffentlich erfreulichen Resultat melden.

Die Datei war eine ganz normale “Datei”(ich sehe keine Endung), wie es ausschaut, welche zudem noch relativ klein war. Die Datei heisst 16638 in dem data\base\16403 Ordner und ist auch verhältnismäßig sehr klein (nur 8KB, wogegen andere bis zu 1.5GB groß sind)

Gibt es nicht irgendwie die Möglichkeit alle Dateien in diesem Ordner, welche ich nach dem gewissen Datum importiert hab einfach zu löschen und es könnte wieder funktionieren, oder würd ich es somit nur noch schlimmer machen, da es irgendwo Eintragungen oder sonstiges gibt und ich nicht einfach diese Bausteine so rauslöschen darf.

Du merkst Dir für die Zukunft, niemals nie die Dateien in diesem Ordner dort händisch anzufassen. Und außerdem wirst Du Dich mehr auf BRAIN als auf Kasperlie verlassen.


Andreas

Du hast Dein Datenverzeichnis zerschossen. Da ändert eine Neu-Installation von Postgres auch nichts.
Die gelöschte Datei wird dabei nicht wieder hergestellt (weil sie ja zu Deiner Datenbank gehört und nicht zu den Postgres-Binaries)

Die Datei war eine ganz normale “Datei”(ich sehe keine Endung), wie es ausschaut, welche zudem noch relativ klein war. Die Datei heisst 16638 in dem data\base\16403 Ordner und ist auch verhältnismäßig sehr klein (nur 8KB, wogegen andere bis zu 1.5GB groß sind)

Eindeutig eine Datei aus dem Datenverzeichnis.

Gibt es nicht irgendwie die Möglichkeit alle Dateien in diesem Ordner, welche ich nach dem gewissen Datum importiert hab einfach zu löschen und es könnte wieder funktionieren, oder würd ich es somit nur noch schlimmer machen, da es irgendwo Eintragungen oder sonstiges gibt und ich nicht einfach diese Bausteine so rauslöschen darf.

Ich glaube Du hast das Konzept eines Datenbankservers nicht verstanden.
Importieren bedeutet nicht, einfach Dateien “zu kopieren”.

Dein Datenverzeichnis ist im Eimer und ohne Backup ist es komplett futsch.

Ach ja: und Anfragen zu Poker Tracker, Holdem Manager und ähnlichem sind hier ungern gesehen.
Wir sind nicht der kostenlose deutschsprachige Support für die Hersteller der Software.

Frag doch bitte direkt dort (beim Hersteller) nach.