1.3.10 StpDBreorg – Datenbankdatei reorganisieren
StpDBreorgPath( strBufName, nRecord, strReoTmpPath )
StpDBreorg( strBufName, nRecord )
Argumente
strBufName
Datenbankdatei, die reorganisiert werden soll.
 
nRecords
Anzahl leerer Datensätze, um die die Datei vergrößert werden soll.
 
strReoTmpPath
Ohne Bedeutung.
Rückgabewert:
StpRc:
0
Datenbankdatei konnte reorganisiert werden
<>0
Fehler beim reorganisiert der Datenbankdatei  
Fehlerarten:
Warnung
Fehlgeschlagene Lockversuche der Datenbankdatei
Fehler
Rest    
Beschreibung
Diese Funktion reorganisiert die angegebene Datei, d.h. alle Zugriffspfade werden neu aufgebaut (Indexteil) und der Datenteil wird ggf. um die in nRecord angegebene Anzahl von Datensätzen vergrößert.
Die temporären Dateien von  StpDBreorg werden im selben Verzeichnis wie die Ursprungsdatei, mit der Dateierweiterung „reo“ erstellt.
Vor dem Reorganisieren wird der für die tempöräre Datei benötigte Speicherplatz wie folgt, geprüft:
Benötigter Speicherplatz(Bytes) =        
(max. Anzahl der Indexsätze  *  Länge der Indexsätze) + (max. Anzahl der Datensätze  *  Länge der Datensätze);
Ist der Speicherplatz auf  der Festplatte nicht ausreichend, wird StpDBreorg nicht ausgeführt.
Die temporären Dateien werden in jedem Fall gelöscht.
Die Konfigurationsdaten für den Indexteil, z.B.  max. Anzahl der Indexsätze  oder  Länge der Indexsätze, werden aus der bestehenden Datenbankdatei gelesen.
Die Reorganisation sorgt für ausgewogene Indexbäume mit einstellbarem Füllfaktor.
Der Füllfaktor gibt an, wieviel Platz maximal in einem Indexsatz durch die Reorganisation belegt wird.
Ein Füllfaktor 100 % ist nicht sinnvoll, da jede Änderung sofort viele Indexaktionen bewirkt.
Ein sinnvoller Füllfaktor, evtl. abhängig von der Anzahl Änderungen der einzelnen Dateien, sorgt für bessere Performance bei Insert-, Update- und Delete- Operationen.
 Der Füllfaktor ist mit 85% vorbelegt.
Vor dem Reorganisieren wird ein Lock auf die Datenbankdatei gesetzt.
Bei erfolglosem Sperren der Datenbankdatei kann eine Warnung gelogt werden, falls die Protokollierung für Warnungen aktiv ist.
Schlägt die Reorganisation fehl, werden alle temporären Dateien gelöscht.
Bei erfolgreichem Reorganisieren der Datenbankdatei wird
  • Kopie der Originaldatei mit Dateinamenserweiterung „.BCK“ im selben Verzeichnis erstellt
  • die Originaldatei gelöscht
  • die neue Datei nach Originaldatei kopiert
  • neue Datei und Backup der Originaldatei gelöscht.
Funktionsart
STPFunktion