Fragen zu Update

Thomas Berger ThB at gymel.com
Fr Feb 22 14:03:58 CET 2002


Lieber Herr Runki, lieber Herr Lehmann,

> kl>Wir haben gestern zum ersten mal auf die Schnelle einen
> Versuch unternommen, Teile der Lodgdatei in unsere Datenbank mit
> dem Befehl
> kl>update -fp -ks -dkatalog\cat -ucat.log -n1     (Handbuch S.
> 24)
> kl>einzumischen.
> 
> hmmm, da fehlt was. bitte doku seite 158 (kap 9.2.) gucken.
> log nehmen, mit log2alg behandeln. dann updaten (spezielle
> aufrufpara's!!!)

Njet: -fp ist "Playback" und mischt die unbearbeitete
Logdatei ein. Jedoch: Man braucht eine spezielle Datenbank
dafuer, naemlich diejenige, die zu dem Zeitpunkt eingefroren
wurde, wo die fragliche Logdatei beginnt.

Der Vorteil ist, es funktioniert fuer jede Allegro-Datenbank,
auch solche, die keine Identnummern in den Datensaetzen hat.

Der Nachteil ist, dass das mit dem "eingefroren" ernstzunehmen
ist, man darf z.B. nicht hoffen, sinnvolle Resultate zu
erhalten, wenn man zwischendurch die Datenbank mit -f7 oder
Entlueftung oder den Satztabellen-Rekonstruktionsfunktionen 
reorganisiert hat. Man wuerde auch einen sehr extrem guten
Editor benoetigen, um aus der Log-Datei einzelne Zeilen
herauszunehmen, etwa weil man nur eine spaetere Version
der Datenbank hat, als der Beginn der Logdatei ist.

Letztendlich eignet sich "Playback" also wirklich nur, um
kontrollierte Logdateischnipsel in kontrolliert angelegte
Backups der Datenbank einzuspielen.

 
> kl>1. Frage:
> kl>Wird jede Veränderung eines Datensatzes (also auch bloßes
> Editieren, ohne etwas zu Verändern oder Verändern eines
> einzelnen Zeichens) in der .log dokumentiert, oder wird nur dann
> ein Datensatz mehrmals in der log Datei enthalten sein, wenn
> größere Ergänzungen durchgeführt worden sind (weil dann der
> Datensatz so groß geworden ist, dass er nicht mehr an der alten
> Stelle gespeichert werden kann)?
> 
> nur physikalische veränderungen der ald-datei werden
> gespeichert.
> nur das angucken der datei (besser des datensatzes) güldet nich'
> ;-)

Nicht ganz: Wenn Sie einen Datensatz mit "E" bearbeiten und
sofort mit "F10" abspeichern, entsteht trotzdem ein Eintrag
in der LOG-Datei, selbst wenn Sie das Verzeichnen des
Aenderungsdatums in der .CFG unterdrueckt haben. Insbesondere
werden auch Schreibvorgaenge aufgezeichnet, die nicht zu 
einer Umspeicherung fuehren.

 
> kl>2. Frage:
> kl>Wir wollen in Zukunft folgendermaßen vorgehen:
> kl>"Checken" der log Datei nach Mehrfachspeicherungen eines
> Datensatzes:
> kl>update -fc -ks -d sub/dbn -u filename -e param/outfile

Fuer -fc brauchen Sie in der Tat eine .alg-Datei, d.h.
hier ist kl's Bemerkung zu log2alg angebracht. Daraus, 
dass Sie diesen Fall in Erwaegung ziehen, folgere ich,
dass Sie Identnummern haben (die hoffentlich eindeutig
sind).


> kl>
> kl>"Mischen der "sauberen" Logdatei mit der Datenbank
> kl>update -fm01 -ks -d sub/dbn -u filename -n1

Statt -fp fuer das Playback koennen Sie in der Tat (und wenn
Sie Ihren Identnummern trauen koennen) auch die Log-Datei
mit log2alg umwandeln und dann mit Update -fm11 einmischen.
Hingegen wuerde -fm01 stets zu neuen Dubletten fuehren,
ausser Sie beschraenken sich von vorneherein auf Neusaetze.
Diese Methode ist etwa dann angebracht, wenn Sie als 
letze Rettung nach einer missglueckten globalen Ersetzungen
gezielt Bearbeitungen, die in der Log-Datei verzeichnet
sind, aber nicht gelten sollen, vorher herauseditieren
wollen. Muehsam ist es aber trotzdem.



> kl>
> kl>Wäre diese Vorgehensweise prinzipiell richtig und sinnvoll?
> nö.
> log's anfassen nur im äußersten notfall! dazu gehören
> strategische überlegungen. z.b. derart: eine riesenlogdatei,
> geschrieben seit anno tobak. vor einer woche haben sie datenbank
> indexiert. problem tritt auf. sie ziehen die logdatei (mit
> log2alg) in die datenbank rein. am besten kündigen sie dann.....
> ;-)
> nee, im ernst. dann ist k**cke am dampfen.

!!!

(Ich kenne solche Faelle, man muss dann lange Interviews mit
den Bearbeitern fuehren und stundenlang auf die Daten starren,
bis man im grossen Datenhaufen mit multiplen Datensaetzen
herausfindet, was der aktuellste Stand eines Satzes ist und
welche Saetze verloren gingen (das ist naemlich bei misglueckten
Playbacks auch immer so: Man sieht nur die Dopplungen, zu jeder
Dopplung gehoert aber auch eine Vernichtung). Dann kann man
stundenlang die Datenbank und Log-Datei entsprechend den
erschlossenen Zeitschichten zerlegen und neu zusammensetzen.)


> kl>3. Frage
> kl>Muss man die Mehrfachspeicherungen eines Datensatzes in der
> .log Datei "per Hand" beseitigen, oder gibt es eine Möglichkeit,
> per Programm nur die letzte Variante eines Datensatzes
> stehenzulassen und die anderen zu löschen?
> 
> falscher ansatz.... (und wenn, dann mit einem guten editor
> anfassen, z.b. a.exe (aurora.exe)

Sie schrieben nur oben:
>>>
Wir haben gestern zum ersten mal auf die Schnelle einen Versuch
unternommen, 
Teile der Lodgdatei in unsere Datenbank mit dem Befehl 
...     (Handbuch S. 24)
einzumischen.
<<<

und mir wird nicht ganz klar, warum Sie das wollten/versuchten/taten.
Ihre anderen Fragen zielten nun fast darauf, dass Sie daraus eine
Routine machen wollen.

viele Gruesse
Thomas Berger




Mehr Informationen über die Mailingliste Allegro