Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

DML REORGPPP - Probable Position Pointers (PPPs) reorganisieren

&pagelevel(3)&pagelevel

Die Online-DML REORGPPP wird verwendet, um PPPs in Sätzen und Tabellen speziell innerhalb eines Realms während eines Live-Vorgangs zu reorganisieren.

Eine REORGPPP-DML verweist immer auf einen Benutzerrealm, der wie auch die entsprechenden DBTT-Realms im Aktualisierungsmodus im DBH angefügt werden muss.

Die folgenden Seiten werden bei der PPP-Reorganisation übersprungen:

  • FPA-Seiten und DBTT-Seiten

  • DBTT-Ankerseiten

  • Freie Seiten

Prozedur der PPP-Reorganisation

Alle Seiten im angegebenen Benutzerrealm (außer übersprungene Seiten, siehe oben) werden sequenziell gelesen, und alle PPPs werden auf diesen Seiten aktualisiert.

Um PPPs zu aktualisieren, geben Sie die Anzahl der Seiten an, die soweit wie möglich mit einer REORG-PPP-DML über die Anweisungen des UDS-Online-Hilfsprogramms verarbeitet werden sollen (Parameter PAGES-PER-DML der SDF-Anweisung SET-REORGANIZE-PPP-PARAMETERS, siehe Abschnitt „Eigenschaften einer REORGPPP-DML definieren (SET-REORGANIZE-PPP-PARAMETERS)“).

Wenn während der PPP-Reorganisation Konflikte mit anderen Transaktionen auftreten, bricht die Online-DML REORGPPP den Vorgang vorzeitig ab, um die Behinderung einer parallelen Anwendung auf ein Minimum zu reduzieren. PPPs, die bei der Transaktion bereits reorganisiert wurden, werden aktualisiert beibehalten.

Fortschrittsdaten der PPP-Reorganisation

In jedem Session-Abschnitt speichert der DBH interne Fortschrittsdaten für die Seitennummer im angegebenen Realm, in dem PPPs bereits reorganisiert wurden. Auf diese Weise kann die Reorganisation problemlos in mehreren gleichzeitigen Online-Hilfsprogramm-Ausführungen fortgesetzt werden.

Die aktuelle Seitennummer wird als die Variable REORG-PPP-CURRENT bereitgestellt, um das UDS-Online-Hilfsprogramm zu informieren. Sie enthält die Blocknummer der relevanten Datenbankseite, auf der gegebenenfalls die weitere PPP-Reorganisation fortgesetzt wird.

Initialisierung des Prozesses der PPP-Reorganisation

Die erste REORGPPP-DML beginnt mit der Seitennummer 0, d. h. am Anfang des Realms. Nachdem eine erfolgreiche REORGPPP-DML verarbeitet wurde, wird die Position auf die Seitennummer gesetzt, auf der eine nachfolgende REORGPPP-DML den Vorgang fortsetzt. Dieser Wert wird als die aktuelle Seitennummer im UDS-Online-Hilfsprogramm bereitgestellt.

Die Fortschrittsdaten für die Reorganisation werden nicht für spätere Session-Abschnitte in der Datenbank gespeichert. Sie gehen verloren, wenn der betroffene Realm getrennt wird. Nachdem der Realm verbunden wurde, sind Fortschrittsdaten aus früheren Session-Abschnitten deshalb nicht mehr verfügbar. Die nächste Transaktion zur PPP-Reorganisation kann nur durchgeführt werden, wenn die aktuelle Seitennummer neu initialisiert wird.

Nach dem Neustart des UDS-Online-Hilfsprogramms kann die Reorganisation in einem Session-Abschnitt fortgesetzt werden, der nicht unterbrochen wurde. Verwenden Sie in diesem Fall den Parameter INITIALIZE der SDF-Anweisung SET-REORGANIZE-PPP-PARAMETERS, um die Initialisierung der aktuellen Seitennummer zu kontrollieren:

  • INITIALIZE=* ANY
    Da das UDS-Online-Hilfsprogramm möglicherweise nicht erkannt hat, dass die Fortschrittsdaten verloren gegangen sind, ermöglicht INITIALIZE=* ANY die Ausführung der REORGPPP-Transaktion unter Verwendung beliebiger noch vorhandener Fortschrittsdaten. Wenn keine Fortschrittsdaten vorhanden sind, findet eine Initialisierung statt.

  • INITIALIZE=*NO
    Über INITIALIZE=*NO kann eine Initialisierung explizit verhindert werden, wenn der Realm getrennt und dann nach der letzten REORGPPP-Transaktion wieder verbunden wurde.

  • INITIALIZE=*YES
    Es kann jedoch auch INITIALIZE=*YES verwendet werden, um die Initialisierung des Reorganisationsprozesses wieder zu starten. In diesem Fall wird die anfängliche Seitennummer initialisiert. Diese Initialisierung wird bei der ersten entsprechenden Transaktion wirksam. Alle nachfolgenden Transaktionen eines UDS-Online-Hilfsprogramms werden mit INITIALIZE=*ANY ausgeführt. Ob diese Transaktionen in einer oder in mehreren aufeinander folgenden Prozedursequenzen (SDF-Anweisung REPEAT-PROCEDURE) ausgeführt werden, ist nicht relevant.

Ende der PPP-Reorganisation

Eine Sequenz von REORGPPP-Transaktionen wird intern beendet, wenn die aktuelle Seitennummer die letzte Seitennummer in dem Realm erreicht. Dies wird dem UDS-Online-Hilfsprogramm gemeldet. Dadurch werden keine weiteren Transaktionen zur Reorganisation in diesem Realm ausgeführt.

Verhalten bei gesperrten Seiten

Über den Parameter CLASH-HANDLING der SDF-Anweisung SET-REORGANIZE-PPP-PARAMETERS können Sie das Verhalten des DBH bei einer gesperrten Seite kontrollieren (siehe Abschnitt „Eigenschaften einer REORGPPP-DML definieren (SET-REORGANIZE-PPP-PARAMETERS)“).

  • Mit dem Standardwert BREAK-DML wird die DML abgebrochen und die PPP-Reorganisationen, die bereits stattgefunden haben, werden beibehalten. Der Controller im UDS-Online-Hilfsprogramm kann auf diese Situation reagieren und den nächsten Auftrag zur Reorganisation nach einer bestimmten Wartezeit wiederholen.

  • SKIP-PAGE bietet die Möglichkeit, eine gesperrte Seite zu überspringen.

  • WAIT-FOR-TRANSACTION bietet die Möglichkeit zu warten, bis die gesperrte Seite von der sperrenden Transaktion freigegeben wird.