Ja schade eigentlich. Danke fuer die Info. Diese Vermutung hatte ich auch schon, da ich das backup auf einem mir unbekannten System ausgefuehrt habe. Dabei wurde mir versichert, dass die Datenbankprozesse beendet sind, was offensichtlich ja nicht sein kann. Dumm gelaufen.. Gruss Norman Doll -----Original Message----- From: Jan-Benedict Glaw [mailto:jbglaw@lug-owl.de] Sent: Thursday, September 26, 2002 8:41 AM To: 'linux@lug-owl.de' Subject: Re: DB Sicherung mittels tar: Broken DB On Tue, 2002-09-24 11:44:35 +0200, Norman Doll <ndoll@ips-psg.de> wrote in message <AFBDD6155620D511887C00E01805B92B7A320F@ex_neu.ipsag.com>:
Hallo!
Kann mir hier jemand mit einem tar Problem weiterhelfen?
Eine Datenbanksicherung mittels # tar MLvcfff 2000000 t1.tar t2.tar t3.tar DB/ gab die Meldung aus: tar: filexy: File shrank by xyz bytes; padding with zeros
Daraus schließe ich, daß Du das Backup gemacht hast, _während_ die Datenbank noch am Laufen war. Das darf _niemals_ so gemacht werden. Einige Datenbanken haben besondere Features, worüber Du sie eine Zeit lang mit externen Dateien arbeiten lassen kannst, sodaß Du ein konsistentes Backup bekommst. Die "einfache" Methode ist, LVM zu nehmen: Datenbank kurz 'runterfahren, einen Snapshot anlegen, Datenbank wieder starten (machen wir hier so mit PostgreSQL). Eine andere Variante ist, einen Dump zu machen. Da kommen dann meistens (in eier riesigen Text-Datei) die SQL-Befehle heraus, die der Datenbank-Server braucht, um die Datenbank neu anzulegen.
Nachdem Zurueckspielen fand sich eine korrupte DB wieder. Ein Datenbankspezialist meinte, ein Reparieren der DB waere nicht moeglich, da etliche Zellen mit binaeren Nullen gefuellt seien.
Da hat er vermutlich Recht :-(
Koennen das die Nullen sein, die tar meinte unbedingt anfuegen zu muessen? Gibt es eine Moeglichkeit die angefuegten Nullen zu entfernen? Sonst gab es bei der Sicherung und Rueckspielung keine Meldungen/Fehler.
Während tar die Daten gebackup't hat, ist die Datenbank noch gelaufen. D.h., daß tar z.B. den Anfang einer Datei schon hatte, dann hat die Datenbank vorne _und_ hinten 'was geändert, dann hat tar den Rest gelesen. Also hast Du neue Daten (von hinten), aber vorne alte Daten. Das paßt nicht (und vermutlich auch nie wieder) voreinander. Sieht aus, als müßtest Du die Datenbank neu initiieren. MfG, JBG -- - Eine Freie Meinung in einem Freien Kopf für - einen Freien Staat voll Freier Bürger Gegen Zensur im Internet Jan-Benedict Glaw . jbglaw@lug-owl.de . +49-172-7608481 -- New APT-Proxy written in shell script -- http://lug-owl.de/~jbglaw/software/ap2/