allegro-Fortbildung                                         

   11    Datenbankadministration
   11.2    Index erneuern




Sie wissen längst: Die Indexdatei enthält die Register. Ohne Register
findet man nichts. Man muß die Indexdatei also erneuern, wenn sie
nicht mehr korrekt funktioniert - d.h. irgendwie nicht so reagiert,
wie man es gewöhnt ist, oder überhaupt nicht. Das kommt selten vor,
aber wenn, pocht Panik an die Tür. Was nicht sein muß! Denn das
Erneuern ist ganz leicht. Wenige Knopfdrücke genügen, es zu starten,
und dann läuft es vollautomatisch. Wie es geht, steht weiter unten.

Sinnvoll ist das Index-Erneuern auch in anderen Fällen:

Index erneuern MUSS immer dann sein, wenn man Änderungen an den
Indexparametern vorgenommen hat. An der Vorschrift also, wie aus
einem Datensatz die Registereinträge zu bilden sind. Denn solche
Änderungen wirken sich nicht automatisch sofort auf alle schon
vorhandenen Daten aus, sondern nur auf neue Datensätze, die erst
danach eingespeist werden. Erneuert man den Index, werden die
Änderungen auch für alle schon vorhandenen Daten wirksam. Und
gleichzeitig werden die Kurzanzeige und die Restriktionsdatei
erneuert sowie die Satztabelle, falls sie nicht mehr vorhanden ist.
Diese Dateien kann man andererseits auch getrennt erneuern, vom
selben Menü aus. Wer Bescheid weiß, kann damit viel Zeit sparen,
denn der Index braucht VIEL mehr Zeit als die anderen Dateien.

In größeren Abständen kann es sein, daß die Indexdatei (im
Normalfall CAT.ADX) sich  stark vergrößert hat, da sie durch viele
Löschungen oder andere Aktionen intern Leerräume enthält und deshalb
unnötig viel Platz beansprucht; evtl. wird der Zugriff auch etwas
langsamer dadurch. Um diesem Mißstande dann abzuhelfen, gibt es
eine viel schnellere Methode als die Erneuerung: die "Kompaktierung".
Wenn man den Index gerade erst erneuert oder die Datenbank neu
aufgebaut hat, bringt das Kompaktieren aber nichts, denn es wird
in dem Zusammenhang sowieso nebenbei gemacht.

Beim Start der Erneuerung sollte in etwa doppelt so viel Platz frei
sein, wie der aktuelle Index selbst einnimmt. Meistens reicht zwar
weniger, doch ist das nicht gut vorhersehbar. Die heutigen Rechner
haben alle von Hause aus soviel Platz, daß man dieses Problem
vergessen kann, außer bei extrem großen Datenbanken.

Und so wird's gemacht - nur 4mal klicken:
Füllhorn   (Alt+h)
   (Re-)Organisieren
       Index erneuern
       Die Frage "Index erneuern - wirklich?" mit [Ja] beantworten.

Jetzt nicht erschrecken! a99 verschwindet nämlich und es kommt ein
schwarzes DOS-Fenster, in dem nun lauter Meldungen durchlaufen.
Das ist normal! So kann man den Fortgang der Arbeit verfolgen, denn
es dauert, je nach Größe der Datenbank, doch mehr als nur ein paar
Sekunden. Wenn's erledigt ist, kommt a99 wieder zum Vorschein und
man kann weitermachen, als wäre nichts gewesen.
>>Hinweis: Weil der Prozeß in einem DOS-Fenster läuft, kann es sein,
daß man Probleme mit der Länge der Pfadnamen bekommt. Generell ist es
sinnvoll, die Namen nicht zu lang zu machen, i.d.R. unter 128 Zeichen.
Auch UNC-Namen gehen unter DOS nicht!

Auf dem Menü "Reorganisieren" sehen Sie ja, daß auch die anderen
Erneuerungen (Satztabelle, Kurzanzeige,...) genauso leicht zu
starten sind, wie die Index-Erneuerung.

>>ZusatzTip:
Die Funktion "Datenbank ganz neu aufbauen" dauert am längsten,
ist aber am gründlichsten: dabei verschwinden auch alle nicht
mehr gültigen Datensätze, die im Register 1 oben am Anfang
unter den mit // beginnenden Einträgen stehen.
Geben Sie  h orghlp   (oder HILFE..HILFE..HILFE)
dann erfahren Sie noch viel mehr über diese Dinge.

Gut zu wissen:
a99 merkt selber (das DOS-CockPit konnte das nicht), ob gerade
sonstwer an der Datenbank beschäftigt ist, denn das Index-Erneuern
sollte dann lieber nicht gemacht werden. Es kommt dann die
Meldung "Geht nicht, Datenbank ist in Benutzung!" Allerdings, wer
und wo der/die Betreffende ist, das kann auch a99 nicht heraus-
finden, da muß man selber nachforschen ...