Was ist die Verwendung von reorg-Befehl in eine IBM DB2?
Was ist die Verwendung von reorg-Befehl die in ibm db2-db ? Was bedeutet Reorg tun intern ?
Ist es notwendig zu laufen, reorg, wenn neue Indizes erstellt werden, auf dem Tisch ?
Ich werde die Abstimmung zu schließen, ist diese Frage off-topic, weil es nicht über die Programmierung.
InformationsquelleAutor Cshah | 2010-08-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die REORG-operation führt die folgenden Funktionen:
Überprüft die referenzielle Integrität, wenn für die Zieltabelle, und entweder löscht Zeilen, dass es verletzt oder untauglich für alle betroffenen Indizes. (Die referenzielle Integrität ist eine relationale Eigenschaft, dass jeder foreign-key-Wert in einer Tabelle vorhanden ist als primary-key-Wert in der referenzierten Tabelle.
Führt eine interne Neuorganisation eines oder mehrere der Indizes für die Tabelle (alle Typen) zur Verbesserung der internen Zwischenspeicherung dieser Informationen und somit ist die Leistung, wenn der index verwendet, um auf Daten zuzugreifen. Sie können neu erstellen Sie alle Indizes, selektiv neu erstellen einen oder mehrere benannte Indizes oder wahlweise Neuerstellung eines oder mehrere Segmente von einem oder mehreren genannten Indizes.
Füllt eine LATENTE index erstellt wird, mit einer CREATE INDEX-Anweisung. Eine LATENTE index ist eine leere index-Struktur, die gefüllt werden können zu einem späteren Zeitpunkt.
Umbauten von vordefinierten Ansichten. Zum Beispiel, wenn vorausberechnete view maintenance auf OFF gesetzt ist, in Ihrer Anwendung verwenden, können Sie den Befehl REORG, rebuild, die eine vordefinierte Ansichten nur, ohne Sie zu berühren die Indizes für die Zieltabelle. Alternativ können Sie den Befehl REORG, rebuild beide Indizes und Ansichten.
Zusätzlich zur Wiederherstellung von aggregierten Tabellendaten, die REORG-Befehl erstellt Indizes aus den aggregierten Tabellen.
Eine REORG-operation ist in folgenden Fällen erforderlich:
Wiederaufbau der betroffenen Indizes, wenn Sie eine Datenbank-Wiederherstellung wiederherstellen von einzelnen Segmenten einer Tabelle oder eines index.
Immer, wenn änderungen an einer Datenbank betreffen mehr als 30 Prozent der Daten, führen Sie die TMU mit einer REORG-Anweisung für alle Tabellen direkt geändert. In regelmäßigen Abständen Wiederaufbau solcher Tabellen und Indizes mit REORG-Anweisung sorgt für die referenzielle Integrität und optimalen performance.
Neu zu organisieren ungültig STERNE-Indizes. Bestimmte Operationen können ungültig STERNE-Indizes. Zum Beispiel, die Erhöhung der MAXROWS PRO SEGMENT oder die MAXSEGMENTS parameter in einer Tabelle oder mithilfe einer ALTER-Anweisung zu erweitern, ein segment, für ungültig erklären kann STAR Indizes auf Tabellen, die auf die geänderte Tabelle. Diese Vorgänge erzeugen immer eine Warnmeldung, sagt STAR-Indizes basierend auf der geänderten Tabelle ist möglicherweise ungültig, in welchem Fall die betroffenen STERNE-Indizes müssen neu organisiert werden. Sie können entweder neu organisieren, die betroffenen Indizes, wenn die Meldung ausgegeben wird oder planen Sie die REORG-operation für eine bequemere Zeit. Allerdings, alle nicht-Abfrage (INSERT -, UPDATE-oder DELETE-operation für eine Tabelle mit einem ungültigen index-Ergebnisse in eine Fehlermeldung, die besagt, dass der index muss neu organisiert werden. Führen Sie eine REORG-operation vor der Tabelle zugegriffen werden kann, die für eine INSERT -, UPDATE -, DELETE-oder LAST-Betrieb.
REORG unnötig ist in den folgenden Fällen:
Wenn keine änderungen an der Datenbank vorgenommen werden, außer durch eine vollständige Lasten von Daten.
Wenn die Tabelle und Indizes verteilt sind gleichermaßen und neue index-Daten werden in neue Segmente entsprechend der neuen Tabelle Segmente.
InformationsquelleAutor wizneel
Wenn Sie einen Datensatz löschen (oder Zeile) in (zumindest für die iSeries) DB2 -, es markiert den Datensatz zum löschen aber nicht physisch löschen Sie den Datensatz. Wenn reorg ausgeführt wird, nimmt es die Datensätze zum löschen markiert, und dann physisch gelöscht. Ich glaube, es bewegt sich auch alle Datensätze, um für eine optimale Leistung in diesem Prozess als gut. Auf der iSeries kann dieser Bedarf gerendert werden überholt durch das erzählen der Datei (oder Tabelle) wiederverwenden und löschen von Datensätzen.
Als ich angedeutet, ich weiß, dies ist der Fall, die auf DB2 für iSeries (oder IBM i). Ich kann nur vermuten, dass dieser Prozess ist ähnlich auf DB2.
InformationsquelleAutor Mike Wills
Was es tatsächlich ist, stellen die physischen Datensätze zurück, in die primäre Taste, um mit der richtigen Menge an freiem Speicherplatz (angegeben durch PCTFREE) in den richtigen stellen.
Offensichtlich dies erfordert auch die Indizes neu erstellt werden sowie die Ergebnisse in der schön ausgewogene btrees.
InformationsquelleAutor James Anderson