Mit der Anweisung CONVERT-DATABASE steuern Sie die Umstellung der Realms.
BPGSIZE erzeugt dabei Realms der umgestellten Datenbank mit dem Kopienamen NEW. Bei jeder Datenbankumstellung muss als erster Realm das DBDIR umgestellt werden.
Die Anweisung CONVERT-DATABASE können Sie pro BPGSIZE-Lauf mehrfach angeben. Eine CONVERT-DATABASE-Anweisung ist erst dann gültig (d.h. kann erst dann ausgeführt werden), wenn alle in der Anweisung genannten Realms vorhanden sind. Wenn in der CONVERT-DATABASE-Anweisung ein bereits umgestellter Realm angegeben ist, wird dieser Realm nicht erneut umgestellt.
CONVERT-DATABASE | ||||||||||||||||||||
|
REALM-NAME = *ALL
Alle Realms der Datenbank, einschließlich DBDIR und DBCOM, werden umgestellt.
Bei jeder Datenbankumstellung müssen Sie einen BPGSIZE-Lauf mit nur einer CONVERT-DATABASE-Anweisung und der Angabe REALM-NAME=*ALL durchführen, und zwar
als ersten und einzigen BPGSIZE-Lauf, wenn Sie die gesamte Datenbank auf einmal und mit gleichem Füllgrad (s.u.) für alle Tabellen umstellen möchten, oder
als abschließenden Aktualisierungslauf, nachdem bereits alle Realms der Datenbank in vorausgegangenen BPGSIZE-Läufen umgestellt worden sind.
REALM-NAME = *ALL-EXCEPT(...)
Mit Ausnahme der angegebenen Realms werden alle Realms umgestellt.
NAME = list-poss(30): <realmname>
Namen der Realms, die nicht umgestellt werden. Hier können Sie auch die Realms DBDIR (Database Directory) und DBCOM (Database Compiler Realm) angeben.
REALM-NAME = list-poss(30): <realmname>
Alle angegebenen Realms werden umgestellt. Hier können Sie auch die Realms DBDIR (Database Directory) und DBCOM (Database Compiler Realm) angeben.
In folgenden Fällen erzeugt BPGSIZE zu einem durch REALM-NAME=... spezifizierten Realm keinen umgestellten Realm:
Der Realm existiert nicht.
Der Realm ist abgeschaltet.
Der Realm ist inkonsistent.
Der Realm passt nicht zum ursprünglichen DBDIR (dbname.DBDIR) oder nicht zum umgestellten DBDIR (dbname.DBDIR.NEW).
DATABASE-PAGE-LENGTH = *UNCHANGED
Die Länge der Datenbankseiten bleibt bei der Umstellung unverändert. Falls im ursprünglichen Realm leere und nur teilweise gefüllte Seiten vorkommen, können Sie mit dieser Angabe den Speicherplatzbedarf des Realm verkleinern.
DATABASE-PAGE-LENGTH = 2KB
Die Länge der Datenbankseiten in der umgestellten Datenbank beträgt 2048 byte. Diese Angabe ist nur zulässig bei 2-Kbyte-Datenbanken und hat dort dieselbe Wirkung wie die Angabe *UNCHANGED. Bei einer 4-Kbyte- oder 8-Kbyte-Datenbank wird die Anweisung abgewiesen.
DATABASE-PAGE-LENGTH = 4KB
Die Länge der Datenbankseiten in der umgestellten Datenbank beträgt 4000 byte. Diese Angabe ist nur zulässig bei 2-Kbyte- und 4-Kbyte-Datenbanken und hat bei einer 4-Kbyte-Datenbank dieselbe Wirkung wie die Angabe *UNCHANGED. Bei einer 8-Kbyte-Datenbank wird die Anweisung abgewiesen.
DATABASE-PAGE-LENGTH = 8KB
Die Seitenlänge der umgestellten Datenbank beträgt 8096 byte. Diese Angabe hat bei einer 8-Kbyte-Datenbank dieselbe Wirkung wie die Angabe *UNCHANGED.
Die Seitenlänge in der umgestellten Datenbank muss einheitlich sein. Deshalb ist bei den Angaben zu DATABASE-PAGE-LENGTH Folgendes zu beachten:
Beim ersten BPGSIZE-Lauf für die Datenbank:
Bei mehreren CONVERT-DATABASE-Anweisungen mit unterschiedlichen DATABASE-PAGE-LENGTH-Angaben berücksichtigt BPGSIZE stets die DATABASE-PAGE-LENGTH-Angabe der letzten gültigen CONVERT-DATABASE-Anweisung. Diese Angabe bestimmt somit die Seitenlänge in der umgestellten Datenbank. Eine Ablaufmeldung von BPGSIZE informiert Sie darüber.Bei allen weiteren BPGSIZE-Läufen für die Datenbank:
Sie müssen bei allen DATABASE-PAGE-LENGTH-Angaben die im ersten BPGSIZE-Lauf festgelegte Seitenlänge spezifizieren. Andernfalls bricht BPGSIZE den Lauf mit Fehlermeldung ab.
TABLE-FILLING = *UNCHANGED
Der Füllgrad der Tabellen in den umgestellten Realms bleibt (nahezu) unverändert.
TABLE-FILLING = *MAXIMUM
In den umgestellten Realms wird jede Tabelle wie folgt gefüllt:
Auf Stufe 0 (Grundstufe) bleibt ein Tabelleneintrag frei.
Auf Stufe 1 wird die Tabelle zu 95 % gefüllt.
Auf allen darüberliegenden Stufen bleibt jeweils ein Tabelleneintrag frei.
TABLE-FILLING = <integer 1..100>
In den umgestellten Realms wird jede Tabelle wie folgt gefüllt:
Auf Stufe 0 (Grundstufe) wird die Tabelle gemäß dem angegebenen Füllgrad (%) gefüllt.
Auf Stufe 1 wird die Tabelle zu 95 % gefüllt.
Auf allen darüberliegenden Stufen bleibt jeweils ein Tabelleneintrag frei.
Wird in mehreren CONVERT-DATABASE-Anweisungen mit unterschiedlichen TABLE-FILLING-Angaben derselbe Realm angesprochen, so gilt für den zugehörigen umgestellten Realm die TABLE-FILLING-Angabe der letzten gültigen CONVERT-DATABASE-Anweisung, in der dieser Realm angesprochen wird.
Da alle Tabellen eines umgestellten Realm mit dem angegebenen Prozentsatz gefüllt werden, benötigt ein umgestellter Realm u.U. mehr Speicherplatz als der zugehörige ursprüngliche Realm. Im Allgemeinen empfiehlt sich daher ein hoher Füllgrad (d.h. 99, 100 oder *MAXIMUM). Nähere Einzelheiten zur Bestimmung eines sinnvollen Füllgrads finden Sie im Kapitel „SSL“ des Handbuchs „Entwerfen und Definieren“.