infra:NET User
 
×
920.04 Behandlung von defekten Dateien
Die Bearbeitung kann sowohl mit einer klassischen Datenbankumgebung (Classic, infra-proprietär) als auch unter einer infra-Client/Server-Umgebung erfolgen.
In einer infra-Client/Server-Umgebung muss die Datenbankdatei über einen freigegebenen Ordner erreichbar sein. Der Windows-Benutzer muss die hierfür erforderlichen Rechte (Lesen, Ändern, Löschen, Erstellen) besitzen.
Falls Dateien in diesem Dialog bearbeitet werden, wird die defekte Datei direkt bearbeitet, ohne vorher eine Sicherungskopie zu erstellen. Ein entsprechender Hinweis wird bei der Anwahl angezeigt und erinnert daran, dass eine vorherige Sicherung durch den Anwender vorgenommen werden sollte.
Vor jeder Reorganisation einer defekten Datei daher unbedingt eine Sicherung durchführen, damit man unter Umständen mehrere Versuche unternehmen kann. Stehen nämlich irgendwelche wilden Werte im Dateiverwaltungssatz, kann die Datei auch nach der Reorganisation noch unbenutzbar sein.
Nach der Reorganisation defekter Dateien sollten unbedingt Prüfungen durchgeführt werden, zum Beispiel Konsistenzprüfung und weitere Diagnosen im Arbeitsgebiet "Diagnose" (996) oder Suchen über Auskünfte oder Suchen über Pickliste im Arbeitsgebiet "997 Dateien über Datenbankbeschreibung bearbeiten".
Bei der Anwahl von "920 Kapazitätsermittlung, Dateien definieren" werden alle Dateien überprüft und Dateien, bei denen ein Defekt erkannt wurde, werden mit "!!!" in der Spalte "Bearbeiten" der Listbox gekennzeichnet. Am Ende des Kapitels werden die überprüften Kriterien für den erfahrenen Systembetreuer beschrieben.
Nach Anwahl über die Schaltfläche [ Reparatur ] im Dateibearbeitungsdialog werden alle Datensätze der ausgewählten defekten Datei angezeigt. Über die Datei SIBPPS.INI kann eingestellt werden, wie viele Sätze in der Listbox angezeigt werden sollen (Sektion [SYS920], Schlüsselwort "DefNrShow") und ob die Datensätze in voller Länge angezeigt werden sollen (Sektion [SYS920], Schlüsselwort "DefShowAllBytes")
Mit den Schaltflächen [ << ] und [ >> ] kann innerhalb der Datei geblättert werden. Einzelne Sätze können als "gelöscht" markiert werden und damit von der Reorganisation ausgeschlossen werden (Sätze markieren und Schaltfläche [ Löschen ] betätigen).
In der Listbox wird die Satznummer (Spalte "ISN"), die Löschkennung (Spalte "L") für gelöschte Sätze und der Datensatzinhalt angezeigt. Gelöschte Sätze werden mit einem "*" in der L-Spalte gekennzeichnet. Werte kleiner 32 (ASCII-Code) werden mit einem Punkt angezeigt. Über die Schaltfläche [ Darstellung ] kann zwischen normaler Anzeige und Anzeige im Hex-Modus umgeschaltet werden. Als erster Satz (keine ISN-Anzeige in der ersten Spalte) wird der aufbereitete Verwaltungssatz der Datei angezeigt. Unter ISN 0 erscheint der Vorbelegungssatz für die Stammdatenverwaltungsprogramme. Ab ISN 1 beginnen die eigentlichen Anwendersätze.
Im Bereich "Suche Ende Anwenderteil" kann mit verschiedenen Methoden je nach Markierung gesucht werden. Die Schaltfläche [ Suchen ] stellt das Ergebnis im Feld «Anzahl definierter Sätze» ab. Die Angabe kann manuell verändert werden.
Mit der Schaltfläche [ Reorganisieren ] wird die Datei reorganisiert. Es werden nur die Anwendersätze bis zu Angabe im Feld «Anzahl definierter Sätze» berücksichtigt. Ansonsten läuft die Reorganisation analog zur normalen Anwahl ab (siehe oben).
Kriterien für die automatische Markierung einer Datei als defekt:
  • Satzlänge in DataDictionary und Dateiverwaltungssatz stimmen nicht überein. Bei einer Reorganisation der defekten Datei wird die Satzlänge ans DataDictionary angepasst.
  • Verweis auf den Indexteil sind korrekt, aber Suchmuster (siehe Bildschirmfeld «magic bytes») fehlt:
    Im Vorlaufsatz des Indexteils fehlt das Suchmuster "hex: 19 04 12 ab de aa 02 71".
    Dies kann zum Beispiel auch bei korrekten Dateien auftreten, falls schon sehr lange nicht mehr reorganisiert wurde.
  • Unsinniger Verweis auf den Indexteil, aber Suchmuster "hex: 19 04 12 ab de aa 02 71" ist vorhanden:
    Aus der definierten Anzahl von Anwendersätzen errechnet sich ein Indexbeginn, der nicht zum Suchmuster passt.
    Aus der Position des Suchmusters wird in diesem Fall der Index berechnet (Offset = Position - 76).
  • Weitere unsinnige Verweise auf den Indexteil, wenn Suchmuster nicht vorhanden ist: Verweis ist kleiner als aus den Anwenderdaten errechnet wurde oder größer als die Datei.
  • Formale Prüfung des Verwaltungssatzes liefert negatives Ergebnis:
    Falls der Verweis auf die erste freie Satznummer kleiner 2 ist oder die Anzahl freier Sätze nicht zu der Anzahl definierter Sätze passt.
Beschreibung der Bildschirmfelder
Start-ISN
Ab dieser Satznummer wird in der Listbox angezeigt. Mit ISN 0 erscheint der Vorbelegungssatz für die Stammdatenverwaltungsprogramme. Ab ISN 1 beginnen die eigentlichen Anwendersätze. Sofort nach Auslösen des Felds wird die Listbox neu aufgebaut.
Anzahl
Die Anzahl der in der Listbox ab der Start-ISN anzuzeigenden Sätze wird auf Grund der Angabe "DefNrShow" in der Sektion [SYS920] der Datei SIBPPS.INI vorbelegt. Sofort nach Auslösen des Felds wird die Listbox neu aufgebaut.
Anzahl definierter Sätze
Die Anzahl kann über die Schaltfläche [ Suchen ] ja nach Markierung im Bereich "Suche Ende Anwenderteil" ermittelt werden. Bei der Reorganisation werden nur die Anwendersätze bis zu der hier angegebenen Satznummer berücksichtigt. Zum Beispiel bedeutet Angabe 2000, dass die angezeigten Sätze bis zu ISN 1999 berücksichtigt werden. Falls die Anzahl größer als der vom Programm regulär gefundene Beginn des Indexteils ist, wird eine Warnung ausgegeben. Die angegebene Anzahl wird bei der Reorganisation aber teilweise berücksichtigt. Der Anwenderteil wird nämlich entsprechend vergrößert, allerdings werden die Datensätze ab Indexteilbeginn nicht als Anwendersätze interpretiert.
Satzlänge DD/Datei     Anzeige
Die erste angezeigte Satzlänge wird aus dem DataDictionary angezeigt. Falls eine Abweichung von der tatsächlichen Satzlänge aus dem Verwaltungssatz vorliegt, wurde dies gemeldet. Die Satzlänge aus dem Verwaltungssatz wird als zweite Angabe ausgegeben und außerdem in der ersten Zeile der Listbox angezeigt.
magic bytes
Falls das Feld markiert ist, wird mit der Schaltfläche [ Suchen ] nach dem Suchmuster "hex: 19 04 12 ab de aa 02 71" gesucht und darüber der Beginn des Indexteils und damit die Anzahl der definierten Anwenderdatensätze ermittelt.
Hex 0
Falls das Feld markiert ist, wird mit der Schaltfläche [ Suchen ] nach dem Satzmuster "hex:00" gesucht. Als gelöscht markierte Sätze werden nicht durchsucht. Die Suche beginnt immer am Dateianfang. Über die Fundstelle kann gegebenenfalls der Beginn des Indexteils und damit die Anzahl der definierten Anwenderdatensätze ermittelt werden.
Unformatierte Sätze (ohne Hex0-Sätze zu akzeptieren)
Falls das Feld markiert ist, wird mit der Schaltfläche [ Suchen ] nach Datensätzen gesucht, bei denen zumindest ein Feldinhalt von der Formatangabe im DataDictionary abweicht, zum Beispiel steht in einem numerischen Feld oder einem Datum ein Buchstabe. Als gelöscht markierte Sätze werden nicht durchsucht. Die Formatprüfung akzeptiert für alle Formate Felder, die nur aus Leerzeichen bestehen. Beispiele für Format N4.2 (numerisch mit einem Vorzeichen, 4 Ziffern vor dem Dezimalpunkt und 2 danach): Folgende Werte sind korrekt: Nur Leerzeichen, nur ein Punkt an der richtigen Stelle ("     .  "), " 1234.56",
"   3.12", " 0034.23", "-0034.00", -   0.00", "*******". Unzulässige Werte sind "-0.00", "-1.23", "   A.23", "1234.1" usw.
Beim Datumsformat (6 Stellen) müssen Leerzeichen oder 6 Ziffern gefunden werden. Beim Datumsformat (8 Stellen) müssen Leerzeichen oder 8 Ziffern oder 2 Leerzeichen gefolgt von 8 Ziffern gefunden werden. Die Suche beginnt immer am Dateianfang. Über die Fundstelle kann gegebenenfalls der Beginn des Indexteils und damit die Anzahl der definierten Anwenderdatensätze ermittelt werden. Sätze, die nur aus Hex0-Zeichen bestehen, werden als fehlerhaft interpretiert.
Unformatierte Sätze (mit Hex0-Sätze ignorieren)
Analog zum Feld «Unformatierte Sätze (ohne Hex0)», aber Sätze, die nur aus Hex0-Zeichen bestehen, werden als korrekte Sätze interpretiert.
Beschreibung der Schaltflächen und  Menüfunktionen
Reorganisieren
  • Mit dieser Schaltfläche wird die Datei reorganisiert.
    Es werden nur die Anwendersätze bis zu Angabe im Feld «Anzahl definierter Sätze» berücksichtigt.
    Ansonsten läuft die Reorganisation analog zur normalen Anwahl ab (siehe oben).
Kriterien für die automatische Markierung einer Datei als defekt:
  • Satzlänge in DataDictionary und Dateiverwaltungssatz stimmen nicht überein.
    Bei einer Reorganisation der defekten Datei wird die Satzlänge ans DataDictionary angepasst.
Suchen
Im Bereich "Suche am Ende Anwenderteil" wird festgelegt, nach welcher Methode das Ende der Anwenderdatensätze gesucht werden soll. Die Suche beginnt immer am Dateianfang. Nach dem Suchen wird das Ergebnis im Feld «Anzahl definierter Sätze» abgestellt.
Achtung:
Nur die dort angegebene Anzahl von Sätzen wird beim Reorganisieren beachtet!
Weitersuchen
Analog zu Schaltfläche [ Suchen ]. Die Suche beginnt jedoch erst beim nächsten Satz. Ist zum Beispiel Satz 300 markiert, beginnt die Suche bei Satz 301.
Achtung:
Auch hier wird das Ergebnis der Suche im Feld «Anzahl definierter Sätze» abgestellt. Nur die dort angegebene Anzahl von Sätzen wird beim Reorganisieren beachtet!
<< und >>
Blättern innerhalb der Datei in der laut Feld «Anzahl» eingegebenen Portion, also zum Beispiel die nächsten 100 Sätze.
Darstellung
Mit dieser Schaltfläche wechselt die Darstellung in der Listbox zwischen hexadezimal und Klartext. Je nach Angabe im Feld «Anzahl» kann die Konvertierung einige Zeit in Anspruch nehmen.
Löschen
Für alle markierten Sätze wird die Löschkennung gesetzt. Gelöschte Sätze werden bei der Reorganisation nicht berücksichtigt.
Abbrechen
Mit Abbrechen verlassen Sie den Dialog, ohne dass etwaige Änderungen an der Datei gespeichert wurden.