Auswählen einer Methode zur Tabellenreorganisation
Es gibt vier Methoden für die Tabellenreorganisation: die klassische Reorganisation (offline), die Inplace-Reorganisation mit der Option FULL zur erneuten Clustererstellung oder Speicherbereichskonsolidierung (online), die Inplace-Reorganisation mit der Option CLEANUP OVERFLOWS zur ausschließlichen Bereinigung von Überläufen (online) sowie die Reorganisation mit der Option RECLAIM EXTENTS (online).
Die Offlinereorganisation oder klassische Reorganisation ist das Standardverhalten. Verwenden Sie zur Angabe einer Onlinereorganisationsoperation die Tabellenklausel INPLACE with FULL, INPLACE with CLEANUP OVERFLOWS oder RECLAIM EXTENTS des Befehls REORG .
Jede Methode hat ihre Vor- und Nachteile, die in den nachfolgenden Abschnitten zusammengefasst werden. Bei der Auswahl einer Reorganisationsmethode müssen Sie berücksichtigen, welche Methode für Ihre Prioritäten Vorteile bietet. Wenn Sie beispielsweise den Zeitraum minimieren wollen, in dem das betreffende Objekt nicht verfügbar ist, könnte die Onlinereorganisation für Sie eine gute Wahl sein. Liegt Ihre Priorität auf der Dauer, die für die Reorganisationsoperation benötigt wird, sollten Sie einer Offlinereorganisation den Vorzug geben.
Vorteile der klassischen Reorganisation
- Sie führt Tabellenreorganisationsoperationen am schnellsten aus, insbesondere wenn LOB-Daten (große Objekte) oder LONG-Daten (Langfelddaten) nicht mit eingeschlossen werden.
- Tabellen und Indizes haben nach Abschluss ein perfektes Clustering.
- Indizes werden nach der Reorganisation einer Tabelle automatisch erneut erstellt, sodass kein separater Schritt zur erneuten Erstellung von Indizes erforderlich ist.
- Die Verwendung eines Tabellenbereichs für temporäre Tabellen zum Erstellen einer Spiegelkopie. Die Verwendung einer Spiegelkopie verringert den Speicherbedarf für den Tabellenbereich, der die Zieltabelle oder den Index enthält.
- Sie ermöglicht die Verwendung eines anderen Index als den Clusterindex zur erneuten Herstellung eines Datenclusterings.
Nachteile der klassischen Reorganisation
- Der Tabellenzugriff ist eingeschränkt: Es ist nur ein Lesezugriff während der Sortier- und Erstellungsphase einer REORG-Operation möglich.
- Es besteht ein großer Speicherbedarf für die Spiegelkopie der Tabelle, die reorganisiert wird.
- Der REORG-Prozess bietet weniger Steuerungsmöglichkeiten: Eine Offlinereorganisationsoperation lässt sich nicht anhalten und wieder starten.
- Möglicherweise wird ein umfangreiches aktives Protokoll erforderlich, da die gesamte Operation in einer einzigen Arbeitseinheit (UOW) verarbeitet wird.
Vorteile der Inplace-Reorganisation mit Option FULL
- Es besteht uneingeschränkter Tabellenzugriff, außer während der Abschneidephase einer REORG-Operation.
- Mehr Kontrolle über den REORG-Prozess, der asynchron im Hintergrund ausgeführt wird und angehalten, fortgesetzt oder gestoppt werden kann Sie können beispielsweise eine laufende REORG-Operation anhalten, wenn viele Aktualisierungen oder Löschungen für die Tabelle ausgeführt werden.
- Der Prozess kann im Fall eines Fehlers wiederaufgenommen werden.
- Der Bedarf an Arbeitsspeicher ist geringer, weil eine Tabelle inkrementell verarbeitet wird.
- Die Vorteile der Reorganisation sind sofort spürbar, sogar vor Abschluss einer REORG-Operation.
Nachteile der Inplace-Reorganisation mit Option FULL
- Nicht optimales Daten- oder Indexclustering abhängig vom Typ der Transaktionen, die während einer REORG-Operation auf die Tabelle zugreifen.
- Geringere Leistung als bei einer offline ausgeführten REORG-Operation.
- Potenziell hoher Protokollierungsbedarf. Dieser Bedarf ist abhängig von der Anzahl der Zeilen, die versetzt werden, der Anzahl von Indizes, die für die Tabelle definiert sind, und der Größe dieser Indizes.
- Potenzielle Notwendigkeit einer nachfolgenden Indexreorganisation, da Indizes gepflegt, jedoch nicht neu erstellt werden.
- Unvollständige Speicherplatzfreigabe, da bei der Onlinereorganisation keine internen Datensätze verschoben werden können.
Vorteile der Inplace-Reorganisation mit Option CLEANUP OVERFLOWS
- Es besteht uneingeschränkter Zugriff auf die Tabelle.
- Mehr Kontrolle über den REORG-Prozess, der asynchron im Hintergrund ausgeführt wird und angehalten, fortgesetzt oder gestoppt werden kann Sie können beispielsweise eine laufende REORG-Operation anhalten, wenn viele Aktualisierungen oder Löschungen für die Tabelle ausgeführt werden.
- Der Prozess kann im Fall eines Fehlers wiederaufgenommen werden.
- Alle Zeiger- und Überlaufpaare, die in der Tabelle vorhanden sind, werden korrigiert, was die Leistungskennwerte für den SQL-Zugriff auf die Tabelle verbessert.
- Der Bedarf an Arbeitsspeicher ist geringer, weil eine Tabelle inkrementell verarbeitet wird.
- Die Vorteile der Reorganisation sind sofort spürbar, sogar vor Abschluss einer REORG-Operation.
- Es gibt eine geringere Gesamtprotokollierung und Auswirkung als bei einer Inplace-Reorganisation mit der Option FULL.
Nachteile der Inplace-Reorganisation mit Option CLEANUP OVERFLOWS
- Außer der Auflösung von Zeiger- und Überlaufpaaren ergibt sich kein expliziter Nutzen. Verwenden Sie diese Methode nur dann, wenn die Tabelle viele Zeiger- und Überlaufpaare enthält und diese Paare zu Leistungsproblemen führen.
Vorteile der Tabellenklausel RECLAIM EXTENTS
- Es besteht uneingeschränkter Zugriff auf die Tabelle.
- Der Prozess kann im Fall eines Fehlers wiederaufgenommen werden. Die bis zum Zeitpunkt des Fehlers ausgeführte Arbeit bleibt erhalten. Die Operation wird am Fehlerpunkt wiederaufgenommen und bis zum Abschluss durchgeführt.
- Die Operation verursacht nur wenig Aufwand.
- Es wird Speicherbereich für den Tabellenbereich freigegeben, der dann von einem anderen Tabellenbereichskonsumenten genutzt werden kann.
- Der Bedarf an Arbeitsspeicher ist geringer, weil eine Tabelle inkrementell verarbeitet wird.
Nachteile der Tabellenklausel RECLAIM EXTENTS
- Für Daten findet keine erneute Clustererstellung statt.
- Es werden nicht alle Zeiger- und Überlaufpaare korrigiert, die in der Tabelle vorhanden sind.
- Es werden nicht alle vorhandenen Zeilen in das aktuelle Tabellenschema konvertiert.
- Potenzielle Notwendigkeit einer nachfolgenden Indexreorganisation, da Indizes gepflegt, jedoch nicht neu erstellt werden.
| Merkmal | Klassische Reorganisation | Inplace-Reorganisation mit FULL | Inplace-Reorganisation mit CLEANUP OVERFLOWS | RECLAIM EXTENTS |
|---|---|---|---|---|
| Leistung | Schnell | Langsam | Schnell | Schnell |
| Clusterfaktor der Daten bei Abschluss | Gut | Nicht optimal | Kein Clustering | Kein Clustering |
| Gemeinsamer Zugriff (auf die Tabelle) | Reicht von 'kein Zugriff' bis 'Lesezugriff' | Reicht von 'Lesezugriff' bis 'uneingeschränkter Zugriff' | Reicht von 'Lesezugriff' bis 'uneingeschränkter Zugriff' | Reicht von 'kein Zugriff' bis 'uneingeschränkter Zugriff' |
| Datenspeicherplatzbedarf | Beträchtlich | Nicht erheblich | Nicht erheblich | Nicht erheblich |
| Protokollspeicherplatzbedarf | Nicht erheblich | Kann beträchtlich sein | Kann beträchtlich sein | Kann beträchtlich sein |
| Benutzerkontrolle (Möglichkeit zum Anhalten und Neustarten des Prozesses) | Weniger Kontrolle | Mehr Kontrolle | Mehr Kontrolle | Weniger Kontrolle, da Neustart oder Pause nicht möglich ist |
| Wiederherstellbarkeit | Wiederherstellbar, jedoch mit möglicherweise mehr Zeitaufwand als bei der Onlinereorganisation | Wiederherstellbar | Wiederherstellbar | Wiederherstellbar |
| Indexneuerstellung | Fertig | Wird nicht ausgeführt | Wird nicht ausgeführt | Wird nicht ausgeführt |
| Unterstützung für alle Tabellentypen | Yes | Nein | Nein | Nein |
| Möglichkeit zur Angabe eines anderen Index als des Clusterindex | Yes | Nein | Nein | Nein |
| Verwendung eines Tabellenbereichs für temporäre Tabellen | Yes | Nein | Nein | Nein |
| Tabellentypen | Unterstützung der Offlinereorganisation | Unterstützung der Onlinereorganisation |
|---|---|---|
| Tabellen mit mehrdimensionalem Clustering (MDC-Tabellen) | Ja1 | Ja8 |
| Tabellen mit Clustering anhand der Einfügungszeit (ITC-Tabellen) | Ja1, 7 | Ja6, 7 |
| Bereichsclustertabellen | Nein2 | Nein |
| Tabellen im Anfügemodus | Yes | Nein3 |
| Tabellen mit Langfelddaten oder LOB-Daten | Ja5 | Ja5 |
Systemkatalogtabellen:
|
Yes | Nein |
Hinweise:
|
||
Die gespeicherte Prozedur für die Onlinetabellenversetzung kann als alternatives Verfahren zur Inplace-Reorganisation eingesetzt werden. Nähere Informationen
hierzu finden Sie im Abschnitt Versetzen von Tabellen mit der Prozedur ADMIN_MOVE_TABLE im Online-Modus
.
Bei Tabellen mit XML-Spalten kann die klassische Tabellenreorganisation viel Zeit in Anspruch nehmen, da die vom System generierten XML-Indizes neu erstellt werden müssen. Dafür ist für jedes Dokument in der Tabelle eine Traversierung erforderlich. Währenddessen kann nicht auf die Tabelle zugegriffen werden. Daher ist die Inplace-Tabellenreorganisation allgemein empfehlenswert, da die vom System generierten XML-Indizes nicht neu erstellt werden müssen und die Tabelle während des Reorganisationsvorgangs zugänglich bleibt (mit Ausnahme der Abschneidephase).
Überwachen des Fortschritts der Tabellenreorganisation
Informationen zum Fortschritt einer laufenden REORG-Operation für eine Tabelle werden in die Protokolldatei geschrieben. Die Protokolldatei enthält einen Datensatz für jedes Reorganisationsereignis. Zum Anzeigen dieser Datei führen Sie den Befehl LIST HISTORY für die Datenbank aus, in der sich die Tabelle befindet, die reorganisiert wird.
Sie können den Fortschritt von REORG-Operationen für Tabellen auch mithilfe von Tabellenmomentaufnahmen überwachen. Überwachungsdaten zur Tabellenreorganisation werden unabhängig von der Einstellung des Datenbankmonitorschalters für Tabellen aufgezeichnet.
Wenn ein Fehler auftritt, wird eine SQLCA-Nachricht in die Protokolldatei geschrieben. Bei einer Inplace-Reorganisation für eine Tabelle wird der Status mit PAUSED ('Angehalten') aufgezeichnet.
Wenn keine Tabellen reorganisiert wurden, werden keine Überwachungsdaten von den Überwachungsdienstprogrammen zurückgegeben.