DB Sicherung mittels tar: Broken DB

Norman Doll ndoll at ips-psg.de
Thu Sep 26 14:48:02 CEST 2002


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 at lug-owl.de]
Sent: Thursday, September 26, 2002 8:41 AM
To: 'linux at lug-owl.de'
Subject: Re: DB Sicherung mittels tar: Broken DB


On Tue, 2002-09-24 11:44:35 +0200, Norman Doll <ndoll at ips-psg.de>
wrote in message <AFBDD6155620D511887C00E01805B92B7A320F at 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 at lug-owl.de   .   +49-172-7608481
	 -- New APT-Proxy written in shell script --
	   http://lug-owl.de/~jbglaw/software/ap2/



More information about the Linux mailing list