Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Ausführung von Utility-Anweisungen durch SESAM/SQL

SESAM/SQL benutzt Sperrmechanismen für Transaktionen, um die Synchronisation von Utility-Anweisungen zu gewährleisten:

  • Die Utility-Anweisung wartet das Ende aller offenen Transaktionen ab, die schon Sperren auf den betroffenen Spaces haben (siehe "Ausführung von Utility-Anweisungen durch SESAM/SQL").

  • Während der Ausführung der Utility-Anweisung warten alle folgenden Zugriffe, wenn sie auf die betroffenen Spaces zugreifen wollen, bis die interne Transaktion der UtilityAnweisung beendet ist.

CALL-DML-Open werden geschlossen und gespeicherte SQL-Cursor werden entwertet, wenn die betroffene Tabelle von dem Utility geändert worden ist. Anschließende CALL-DML-Zugriffe erhalten den Status 9U, Zugriffe auf den SQL-Cursor den SQLSTATE 24SA5. Die entsprechenden Utility-Anweisungen sind:

  • REORG [CATALOG_]SPACE

  • CHECK CONSTRAINTS

  • LOAD OFFLINE

  • IMPORT TABLE

  • RECOVER CATALOG / CATALOG_SPACE

  • RECOVER SPACE

  • REFRESH REPLICATION

  • REFRESH SPACE

  • ALTER CATALOG

  • ALTER PARTITIONING FOR TABLE

  • ALTER DATA FOR TABLE


Folgende Tabelle zeigt, welche Spaces von der Ausführung der einzelnen Utility-Anweisungen betroffen sind.

Utility-Anweisung

von der Utility-Anweisung betroffene Spaces

ALTER CATALOG

Catalog-Space

CREATE CATALOG

Catalog-Space

COPY

angegebene Sicherungseinheit
(Catalog-Space und alle Anwender-Spaces, Catalog-Space, ein
oder mehrere Anwender-Spaces)

CREATE REPLICATION

angegebene Einheit (Replikat)

REFRESH REPLICATION

angegebene Einheit (Replikat oder Teilreplikat)

REFRESH SPACE

angegebene Spaces

RECOVER [USING/TO]

angegebene Einheit für das Recovery
(Catalog-Space und alle Anwender-Spaces, Catalog-Space,
Space-Set, Space-Liste, einzelner Anwender-Space)

RECOVER
USING/TO REPLICATION

angegebene Einheit für das Recovery
(Catalog-Space und alle Anwender-Spaces des Replikats oder
Teilreplikats, Catalog-Space, Space-Liste, einzelner Anwender
Space)

RECOVER INDEX

alle Anwender-Spaces, auf denen die angegebenen Indizes liegen

REORG [CATALOG_]SPACE

Catalog-Space, angegebener Anwender-Space

REORG ONLINE TABLE

Anwenderspace, auf dem die Basistabelle oder Partition der
Basistabelle liegt

LOAD

Anwender-Space, auf dem die Basistabelle liegt, in die mit LOAD
Anwenderdaten geladen werden

UNLOAD

Anwender-Space, auf dem die Basistabelle liegt, aus der mit UN-
LOAD Anwenderdaten entladen werden

EXPORT TABLE

Anwender-Space, auf dem die Basistabelle liegt, die in eine
Export-Datei exportiert werden soll

IMPORT TABLE

Anwender-Space, in den mit Hilfe einer Export-Datei eine
Basistabelle importiert werden soll; evtl. Anwender-Space, auf dem
die Indizes aufgebaut werden sollen

ALTER DATA FOR TABLE

Anwender-Space, auf dem die Basistabelle liegt.

ALTER PARTITIONING
FOR TABLE

Anwender-Spaces, auf denen die betroffenen Partitionen der
Basistabelle liegen.

CHECK FORMAL

Anwender-Space der formal geprüft wird bzw. auf dem die zu
prüfende Basistabelle oder der zu prüfende Index liegt

ALTER MEDIA DESCRIPTION
CREATE MEDIA DESCRIPTION
DROP MEDIA DESCRIPTION

Medientabelle auf dem Catalog-Space

MODIFY

Catalog-Tabellen RECOVERY_UNITS und DA_LOGS auf dem
Catalog-Space (bzw. CAT-REC-Datei)

MIGRATE

Catalog-Space sowie Anwender-Space, auf dem die umzustellende
Basistabelle liegt

Tabelle 40: Von Utility-Anweisungen betroffene Spaces

Je nach Utility-Anweisung ist während der Ausführung der Anweisung ändernder oder lesender Zugriff anderer Benutzer auf einen von der Utility-Anweisung betroffenen Space möglich, eingeschränkt möglich oder überhaupt nicht möglich.


Paralleler Zugriff ist nicht erlaubt bei:

  • ALTER CATALOG

  • ALTER PARTITIONING FOR TABLE (nur auf die betroffenen Spaces)

  • ALTER DATA FOR TABLE

  • CREATE CATALOG

  • CREATE REPLICATION

  • MIGRATE

  • RECOVER

  • RECOVER INDEX

  • REFRESH REPLICATION

  • REFRESH SPACE

  • REORG [CATALOG_]SPACE
    (während des Kopierens oder des Umbenennens der Arbeitsdatei in den AnwenderSpace und während der Reorganisation des Catalog-Space)

  • LOAD OFFLINE (falls die Klausel GENERATE INDEX angegeben ist)

  • IMPORT TABLE


Parallel lesender Zugriff auf die Tabellen und Indizes des Space, die nicht von der Utility-Anweisung betroffen sind, ist erlaubt bei:

  • CHECK CONSTRAINTS

  • LOAD OFFLINE (falls die Klausel GENERATE INDEX nicht angegeben ist)


Parallel lesender Zugriff auf den gesamten von der Utility-Anweisung betroffenen Space ist erlaubt bei:

  • CHECK FORMAL

  • COPY

  • UNLOAD

  • EXPORT TABLE (wenn Anwenderdaten exportiert werden)

  • REORG [CATALOG_]SPACE (für die Zeit des Aufbaus der Arbeitsdatei)


Parallel lesender und ändernder Zugriff auf den gesamten von der Utility-Anweisung betroffenen Space ist erlaubt bei:

  • COPY ONLINE

  • EXPORT TABLE (wenn keine Anwenderdaten exportiert werden)

  • LOAD ONLINE

  • MODIFY

  • ALTER/CREATE/DROP MEDIA DESCRIPTION

  • REORG ONLINE TABLE

  • UNLOAD ONLINE


Nicht erlaubte Zugriffsversuche weist SESAM/SQL mit Statuscode ab und behandelt Spaces, Tabellen und Indizes, auf die kein Zugriff erlaubt ist, wie nicht verfügbare Spaces, Tabellen und Indizes.

Parallele RECOVER-Anweisungen

Eine Verkürzung von RECOVERY-Läufen kann erreicht werden, wenn der Anwender mehrere, parallel ablaufende RECOVER-Anweisungen gibt.

Parallel ablaufende RECOVER-Anweisungen dürfen sein:

  • RECOVER eines einzelnen Space: RECOVER SPACE space USING rec_unit

  • RECOVER einer Space-Liste: RECOVER SPACE space , space [,...] USING rec_unit

  • RECOVER eines Space-Set: RECOVER SPACESET AT CATALOG catalog USING zeitstempel


Randbedingungen für die parallele Verarbeitung

  • Die Space-Mengen der RECOVER-Anweisungen müssen disjunkt sein, d.h. ein Space darf nur von einer der parallelen RECOVER-Anweisungen betroffen sein.

  • Für parallele RECOVER-Anweisungen dürfen die Parameter TO, RESTART und ADJUST nicht angegeben werden. Damit sind nur solche RECOVER-Anweisungen zulässig, bei denen Loggingdateien nachzufahren sind.

  • Es müssen genügend Service-Tasks gestartet sein
    (ein Service-Task je paralleler RECOVER-Anweisung).

Ist eine dieser Randbedingungen nicht erfüllt, so werden die betroffenen RECOVER-Anweisungen durch die Sperrmechanismen serialisiert, siehe "Ausführung von Utility-Anweisungen durch SESAM/SQL".

Wenn auf den wiederherzustellenden Spaces eine partitionierte Tabelle liegt, dann sollten diese Spaces aus Konsistenzgründen in einer RECOVER-Anweisung wiederhergestellt werden.