Mit der Anweisung REORGANIZE-SET reorganisieren Sie Set-Konstrukte (LIST, CHAIN, POINTER ARRAY) und SEARCH KEY USING INDEX auf Setebene bzw. Satzartebene. SEARCH KEY USING INDEX auf Satzartebene wird über den zugehörigen impliziten Set reorganisiert.
Sie können reorganisieren:
alle Set Occurrences
einzelne Set Occurrences, die Sie über die RSQ des Owners vorgeben oder
Bereiche von Set Occurrences, die Sie über eine Bereichsangabe der Owner-RSQs definieren.
Auf Setebene können Sie mit der Funktion REORGANIZE-SET folgende Tabellen reorganisieren:
einstufige und mehrstufige Adresslisten
einstufige und mehrstufige Listen
mehrstufige Sort-Key-Tabellen
Ketten
mehrstufige SEARCH-Key-Tabellen (auch Duplikattabellen).
Auf Satzartebene können Sie mehrstufige SEARCH-Key-Tabellen (auch Duplikattabellen), reorganisieren, wobei hier der Name des impliziten Sets anzugeben ist.
BREORG aktualisiert in den genannten Tabellen alle Adressverweise, die als Probable Position Pointer angelegt wurden, und baut die Tabellen wahlweise mit einem geänderten Füllgrad neu auf. Bei Ketten aktualisiert er auch sämtliche Probable Position Pointer der Kette.
Wollen Sie mehrere Tabellen in einem BREORG-Lauf reorganisieren, so sollten Sie zuerst die Funktionen ausführen, die Datensätze verlagern.
Anschließend sollten Sie die Probable Position Pointer aktualisieren, die noch auf die alte Position der Datensätze hinweisen.
REORGANIZE-SET | ||||||||||||||||||||||||||||
|
SET-NAME = <setname>
Name des zu reorganisierenden Sets oder des impliziten Sets.
Der Name des impliziten Sets setzt sich zusammen aus SYS_ und recordname.
Der Unterstrich (_) ist als Bindestrich (-) einzugeben!
OWNER-SELECTION = *ALL
Alle Set Occurrences werden reorganisiert.
OWNER-SELECTION = list-poss(30): <integer 1..2147483647> / *RANGE(...)
Owner und Set Occurrences werden reorganisiert.
<integer 1..2147483647>
Die Owner mit den angegebenen RSQs werden reorganisiert.
*RANGE (...)
Alle Set Occurrences, deren Owner-RSQs innerhalb der angegebenen Bereiche liegen, werden reorganisiert.
FROM-RSQ = <integer 1..2147483647>
RSQ des ersten Owners, dessen SET bzw. TABLE OCCURRENCE reorganisiert wird bzw. dessen TABLE OCCURRENCES reorganisiert werden.
TO-RSQ = <integer 1..2147483647>
RSQ des letzten Owners, dessen SET bzw. TABLE OCCURRENCE reorganisiert wird bzw. dessen TABLE OCCURRENCES reorganisiert werden.
KEY-SELECTION = *ALL
Alle SEARCH KEY USING INDEX und das Set-Konstrukt werden reorganisiert.
KEY-SELECTION = list-poss(30): <integer 0..32767>
Alle SEARCH KEY USING INDEX, deren KEY REF angegeben wurde, werden reorganisiert. Die KEY REF kann dem BPSIA-Protokoll entnommen werden.
Wenn die Set-Konstrukte CHAIN, LIST und POINTER ARRAY nicht mit SORTED INDEXED BY definiert sind, ist im BPSIA-Protokoll keine KEY REF eingetragen. In diesem Fall ist für die KEY REF der Wert 0 anzugeben (nur im genannten Fall erlaubt). Es wird dann der Set reorganisiert.
FILLING = *UNCHANGED
In den Tabellen bzw. Set-Konstrukten werden die Probable Position Pointer (PPP) aktualisiert.
FILLING = <integer 1..100>
Die Tabellen werden mit dem angegebenen Füllgrad neu aufgebaut.
Die Funktion REORGANIZE-SET reorganisiert Tabellen (ASC-KEY bzw. DESC KEY, SEARCH KEY) und Ketten. Reorganisieren bedeutet hier, BREORG aktualisiert die Probable Position Pointer (PPP).
in den Sort-Key-Tabelleneinträgen und SEARCH-Key-Tabelleneinträgen,
in der SCD (Set-Connection-Data) von Datensätzen in Ketten (Vorwärts-Rückwärtsverkettung) und
in der SCD von Datenseiten mit Ownerverweis (PHYSICALLY LINKED TO OWNER)
in der SCD von Ownersätzen mit Tabellenverweis (WITH PHYSICAL LINK)
bzw. baut die Tabellen neu auf.
Haben Sie FILLING = integer... angegeben, so baut BREORG die angegebenen Tabellen neu auf und füllt die neuen Tabellenseiten bis zu dem angegebenen Prozentsatz mit den vorhandenen, aktualisierten Einträgen. Bei mehrstufigen Tabellen gilt der angegebene Prozentsatz nur für die Grundstufe (Stufe 0). Auf Stufe 1 wird die Tabelle zu 95% gefüllt, auf allen darüberliegenden Stufen wird jeweils ein Tabelleneintrag freigelassen. Zusätzlich aktualisiert er die Einträge in der DBTT der Ownersatzart (Spaltennummer >0).
Bei der ASC-Key-Tabelle bzw. DESC-Key-Tabelle eines Sets mit MODE IS LIST stehen in den Tabellenseiten die Datensätze selbst, d.h. beim Neuaufbau einer solchen Tabelle werden die Datensätze verschoben. In dem Fall aktualisiert BREORG zusätzlich die DBTT-Einträge in Spalte 0 der DBTT der betroffenen Satzart.
Folgender Übersicht können Sie entnehmen, welche Probable Position Pointer (PPP) und Tabellen sich mit der Funktion REORGANIZE-SET reorganisieren lassen (siehe Handbuch „Entwerfen und Definieren“):
DDL- und SSL-Anweisungen | Probable Position Pointer (PPP) | Tabelle | |||
Erläuterungen | aktualisieren möglich | Art | neu aufbauen möglich | ||
MODE IS CHAIN | ORDER IS FIRST/NEXT/PRIOR SORTED | Ownersatz enthält PPP 1 des 1. Membersatzes der Kette | Ja | - | - |
Vorwärtsverkettung der Membersätze mit RSQ und PPP 1 | Ja | ||||
ORDER IS LAST oder LINKED TO PRIOR | Ownersatz enthält PPP des letzten Membersatzes der Kette | Ja | |||
LINKED TO PRIOR | Rückwärtsverkettung der Membersätze mit RSQ und PPP | Ja | |||
ORDER IS SORTED INDEXED BY DEFINED KEYS... ASC/DESC KEY IS | jede Tabellenzeile enthält PPP des Membersatzes | Ja | mehrstufige Sort-Key-Tabelle | Ja | |
ORDER IS SORTED INDEXED BY DATABASE-KEY | jede Tabellenzeile enthält PPP des Membersatzes | Ja | mehrstufige Sort-Key-Tabelle | Ja | |
MODE IS POINTER-ARRAY | ORDER IS FIRST/LAST/NEXT/PRIOR | jede Tabellenzeile enthält PPP des Membersatzes | Ja | einstufige Adressliste | Ja |
ORDER IS SORTED INDEXED BY DEFINED KEYS... ASC/DESC KEY IS... | jede Tabellenzeile enthält PPP des Membersatzes | Ja | mehrstufige Adressliste | Ja | |
ORDER IS SORTED INDEXED BY DATABASE-KEY oder ORDER IS IMMATERIAL | jede Tabellenzeile enthält PPP des Membersatzes | Ja | mehrstufige Adressliste | Ja | |
MODE IS LIST | ORDER IS FIRST/LAST/NEXT/PRIOR | kein PPP enthalten | - | einstufige Liste | Ja |
ORDER IS SORTED INDEXED (DB-Key o. ASC/DESC-Key) | kein PPP enthalten | - | mehrstufige Liste | Ja | |
SEARCH KEY ..USING INDEX | TYPE IS REPEATED-KEY | jede Tabellenzeile enthält PPP des Membersatzes | Ja | mehrstufige SEARCH-Key-Tabelle | Ja |
TYPE IS | kein PPP enthalten | - | Duplikattabelle | Ja | |
MEMBER IS PHYSICALLY LINKED TO OWNER | Membersatz enthält Zeiger zum Ownersatz (PPP) | Ja | - | - |
Tabelle 22: Übersicht über die Möglichkeit der Funktion REORGANIZE-SET
1Diese PPPs kommen bei MODE IS CHAIN generell vor.
Ist eine Tabelle vollständig in einer Seite enthalten, so baut BREORG die Tabelle nicht neu auf, selbst wenn Sie FILLING... angegeben haben. Beim Neuaufbau einer Tabelle mit mehreren Tabellenseiten auf Stufe 0 fügt BREORG in jede Tabellenseite mindestens zwei Einträge ein.
Bei einer Reorganisation einer Datenbank können unabhängig von der Aktivierung der Online-DBTT-Erweiterung DBTT-Extents entstehen. Eine Vergrößerung der DBTT durch BREORG wird im DBCOM und DBDIR durch Vergrößerung der schon vorhandenen DBTT realisiert. Im Benutzerrealm wird eine Vergrößerung der DBTT durch BREORG über DBTT-Extents realisiert, wenn die Ziel-DBTT insgesamt größer als 128 PAM-Seiten ist. Ist die Ziel-DBTT kleiner oder gleich 128 PAM-Seiten, wird sie durch BREORG immer als DBTT-Basis, also am Stück realisiert. Über das Ergebnis von Vergrößerungen oder Verkleinerungen von DBTTs werden Sie mit entsprechenden Meldungen informiert.
Ablaufmeldungen
Nach dem Ausführen der Anweisung REORGANIZE-SET wird das Ergebnis der Reorganisation eines Sets bzw. einer Tabelle ausgegeben.
| |
|
|
|
|
|
|
set name
Name des Sets
number table occurrences
Anzahl aller in den Set-Occurrences bearbeiteten Tabellen
number of actualized ppps
Anzahl der aktualisiertenProbable Position Pointer (PPP)
number physical io
Anzahl der Ein- und Ausgaben