Die verschiedenen Änderungen, die Sie am Schema und an der Speicherstruktur vornehmen können, beeinflussen den Inhalt der Datenbank sehr unterschiedlich:
BALTER ändert in der Umstrukturierungsphase den Inhalt der Datenbank in folgenden Fällen nicht:
wenn Sie bezeichner umbenennen
wenn Sie LOCATION DIRECT bzw. DIRECT-LONG hinzufügen oder weglassen
wenn Sie in der ORDER-Klausel variieren zwischen: LAST, FIRST, NEXT, PRIOR oder IMMATERIAL
wenn Sie die Set-Mitgliedschaft neu festlegen
wenn Sie Duplikate erlauben oder verbieten
wenn Sie die SET OCCURRENCE SELECTION-Klausel ändern
Solche Änderungen vermerkt BALTER nur in den Datenbankdefinitionen; sie wirken sich nicht auf den Datenbestand aus, sondern sind lediglich beim Programmieren der DB-Anwendungen zu berücksichtigen.
BALTER ändert den Inhalt der Datenbank in folgenden Fällen ebenfalls nicht:
wenn Sie die Größe einer DBTT neu festlegen
wenn Sie die Seitenanzahl für das dynamische Reorganisieren von Tabellen neu festlegen
wenn Sie die Größe von Set-Tabellen neu festlegen
Derartige Änderungen müssen Sie mit dem Dienstprogramm BREORG durchführen.
BALTER ändert den Inhalt der Datenbank in folgenden Fällen nur bedingt:
wenn Sie PLACEMENT OPTIMIZATION neu festlegen
wenn Sie die Lage von Tabellen neu festlegen
wenn Sie die Größe eines Hashbereichs neu festlegen
Derartige Änderungen beeinflussen zwar den Inhalt der Datenbank, ihre Konsistenz hängt aber nicht davon ab, ob BALTER den Datenbestand an die neue Definition anpasst oder nicht. Da BALTER außerdem bei solchen Änderungen in den meisten Fällen sehr viele Sätze bzw. Tabellenzeilen umspeichern muss, aktualisiert er bei diesen Änderungen zwar generell die Datenbankdefinition, passt aber den Datenbestand nur dann an die neue Definition an, wenn er die Sätze bzw. Tabellen auf Grund weiterer Änderungen verlagern muss.
Generell ändert BALTER den Inhalt der Datenbank in folgenden Fällen:
wenn Sie einen Realm zur Datenbank hinzufügen
wenn Sie eine neue Satzart oder einen neuen Set definieren
wenn Sie LOCATION CALC erstmalig definieren
wenn Sie bei LOCATION CALC die Hashroutine oder die CALC-Keys ändern
wenn Sie eine DBTT in einen anderen Realm verlagern
wenn Sie die Definition eines SEARCH-Keys ändern
wenn Sie die Benutzer- oder Systeminformation einer Satzart ändern
wenn Sie den Aufbau oder die Sortierkriterien von Tabellen neu festlegen
BALTER passt bei diesen Änderungen den Datenbestand an das geänderte Schema bzw. die geänderte Speicherstruktur an, indem er folgende Aktionen in der genannten Reihenfolge ausführt:
hinzugefügte Realms formatiert
bei Ownersatzarten die DBTT modifiziert und die Set-Tabellen löscht oder in der Datenbank verlagert
Ankersätze für SYSTEM-Sets einträgt, löscht oder modifiziert
Tabellen löscht oder verlagert
alle Informationen von Satzarten löscht, die im neuen Schema nicht mehr vorkommen
Hashbereiche und DBTTs für neue Satzarten anlegt
Satzarten (Benutzer- und Systeminformation) modifiziert und umspeichert und Tabellen neu aufbaut
Realms, die im neuen Schema nicht mehr vorkommen, von der Datenbank abhängt
Wurde mit dem Dienstprogramm BMODTT das Wiederverwenden von Database Keys ausgeschaltet, so muss nach dem Umstrukturieren dieser Lauf wiederholt werden, da BGSIA die Standard-Einstellung (Database Keys gelöschter Sätze sind wiederverwendbar bzw. Freiplatzsuche beginnt in einem zusammenhängend freien Bereich am Realm-Ende) wiederherstellt. Löschkennzeichen bleiben bei Neuaufbau von DBTTs durch BALTER erhalten.