Sniffer 2.02

Matthias Evers M.Evers at tu-bs.de
Mo Mai 11 15:17:39 CEST 1998


Hallo Frau Koczian,

> ich bekomme bei der Untersuchung unserer Datenbank mit SNIFFER Ergebnisse,
> die mir in sich nicht konsistent zu sein scheinen, ausserdem
> Fehlermeldungen, bei denen ich nicht weiss, wie ich die Fehler beheben kann.
> 
> Inkonsistenz: die Pruefung der Datendateien meldet manchmal auffaellig
> viele Datensaetze als gesperrt, Pruefung der Satztabelle gleich
> anschliessend nur ganz wenige. 

Die Pruefung der Satztabelle checkt nur die aktuellen Datensaetze in 
der Datenbank (die, die in der TBL verzeichnet sind). Die Pruefung 
einer Datendatei checkt hingegen die Datendatei, OHNE sich um die 
Satztabelle zu kuemmern. 
Hierzu ein krasses Beispiel:
Sie haben eine einwandfreie Datenbank mit den Datendateien kat_1, 
kat_2 und kat_5. Irgendjemand kopiert eine defekte Datei 
kat_4 die ueberhaupt nicht zur Datenbank gehoert mit in dieses 
Verzeichnis. Checken Sie das Verzeichnis (die Datenbank) via 
Satztabellenpruefung, so ist alles okay, denn die kat_4 gehoert ja 
nicht dazu. Checken sie die kat_4 alleine durch, so erzeugt sie 
jede Menge Fehler.
...und indexieren Sie neu (inkl. kat_4), dann haben sie "neue" 
Datensaetze ohne eigene Eingabe in Ihrer Datenbank.

> Einzelfallpruefung in der Datenbank ergibt
> bei so vielen lt. Datendatei-Pruefung gesperrten Saetzen keinen derartigen
> Befund, dass es nicht mehr durch das normale Arbeiten mehrerer Leute zu
> erklaeren ist (wenn z.B. zehn Leute schreibend auf die Datenbank zugreifen,
> dann duerften doch hoechstens zehn Saetze bei der Pruefung gesperrt und
> hinterher beim Nachsehen entsperrt sein - jedenfalls nicht
> Groessenordnungen von 1-200?). 

Bei WinNT habe ich es schon erlebt, dass ploetzlich ab einem bestimmten 
Punkt nur noch gesperrte Datensaetze bei der Kontrolle gemeldet 
wurden. Leider laesst sich das nicht reproduzieren und ist von dem 
freien Arbeitsspeicher in der DOS-Box abhaengig. Man kann relativ 
einfach sehen, ob man so einem Phantom aufgesessen ist, denn die 
gesperrten Saetze folgen in der Datenbank aufeinander (nicht unbedingt 
die Satznummern, sondern ihre Lage in der Datei).

> Fehlerbehebung unklar: "Fehlertyp: Satzlaenge / Datenschrott", keine
> Satznummer angegeben, und bei den meisten Saetzen dieser Art auch kein
> Inhalt (der angezeigte Teil des Satzes besteht im Wesentlichen aus
> ASCII-Nullen und Zeilenvorschueben, endet mit 
> 09 00 0D 0A).

Nur durch Neuindexieren laesst sich dies beseitigen. Danach darf das 
nicht mehr auftreten.

> Oder: Satznummer zu hoch, Kennbyte: 1, und der angezeigte
> Teil des Satzes sieht genauso aus. Wie kriegt man denn sowas aus der
> Datenbank heraus?

Jeder Datensatz hat eine Satznummer, die sich aus der Position in der 
Satztabelle ergibt. Am Anfang des Datensatzes selbst ist diese Nummer 
zusaetzlich nochmals gespeichert. Sniffer checkt, ob die beiden 
Satznummern uebereinstimmen. Abhilfe kann ebenfalls nur durch 
Neuindexieren erfolgen. Der Fehler darf danach nicht mehr auftreten.

Bis dann,
Matthias Evers
--
Matthias Evers             Universitaetsbibliothek
M.Evers at tu-bs.de           Pockelsstr. 13
                           38106 Braunschweig
                           Tel:(0531)391-5032  FAX: -5836




Mehr Informationen über die Mailingliste Allegro