Freigeben über


Überlegungen zu administrativen Aufgaben bei Oracle-Verlegern

Auch nach dem Konfigurieren eines Oracle-Verlegers und dem Einrichten der Replikationsmechanismen zur Änderungsnachverfolgung können Administratoren von Oracle-Datenbanksystemen noch die üblichen Oracle-Datenbankdienstprogamme nutzen und typische Systemverwaltungsaufgaben ausführen. Dabei sollte jedoch berücksichtigt werden, wie sich die Ausführung bestimmter Verwaltungsaufgaben auf die veröffentlichten Daten auswirkt.

Mit Ausnahme des Löschens oder Änderns einer Spalte, die für eine Replikation veröffentlicht wurde, bzw. des Löschens oder Änderns von Replikationsobjekten spielen die folgenden Überlegungen bei Snapshotveröffentlichungen keine Rolle.

Importieren und Laden von Daten

Die Änderungsnachverfolgung bei Transaktionsveröffentlichungen in Oracle erfolgt mithilfe von Triggern. Änderungen an veröffentlichten Tabellen können nur dann auf Abonnenten repliziert werden, wenn die Replikation beim Aktualisieren, Einfügen oder Löschen Trigger auslöst. Die Oracle-Dienstprogramme Oracle Import und SQL*Loader verfügen beide über Optionen, die sich darauf auswirken, ob Trigger ausgelöst werden, wenn mithilfe dieser Dienstprogramme Zeilen in replizierte Tabellen eingefügt werden.

Oracle Import

Mit Oracle Import können Sie für die Option ignore 'y' oder 'n' festlegen (die Standardeinstellung ist 'n'). Wenn für ignore 'n' festgelegt ist, wird die Tabelle gelöscht und beim Importieren neu erstellt. Dabei werden die Replikationstrigger entfernt, und die Replikation wird deaktiviert. Wenn für ignore 'y' festgelegt ist, wird beim Importieren versucht, die Zeilen in die vorhandene Tabelle zu laden, wodurch die Replikationstrigger ausgelöst werden. Stellen Sie daher sicher, dass beim Importieren in eine replizierte Tabelle mit dem Import-Dienstprogramm für ignore 'y' festgelegt ist.

SQL*Loader

Mit SQL*Loader können Sie für die Option direct 'true' oder 'false' festlegen (der Standardwert ist 'false'). Wenn für direct 'false' festgelegt ist, werden die Zeilen mithilfe herkömmlicher INSERT-Anweisungen eingefügt, die die Replikationstrigger auslösen. Wenn für direct 'true' festgelegt ist, wird die Last optimiert, und die Trigger werden nicht ausgelöst. Stellen Sie daher sicher, dass beim Laden in eine replizierte Tabelle mit SQL*Loader für direct 'false' festgelegt ist.

Ändern von veröffentlichten Objekten

Die folgenden Aktionen bedürfen keiner speziellen Überlegungen:

  • Erneutes Erstellen von Indizes für veröffentlichte Tabellen

  • Hinzufügen von Benutzertriggern zu veröffentlichten Tabellen

Bei der folgenden Aktion müssen Sie alle Aktivitäten an den veröffentlichten Tabellen einstellen:

  • Verschieben einer veröffentlichten Tabelle

Bei den folgenden Aktionen müssen Sie die Veröffentlichung löschen, die Operation ausführen und die Veröffentlichung dann erneut erstellen:

  • Abschneiden von Daten in einer veröffentlichten Tabelle

  • Umbenennen einer veröffentlichten Tabelle

  • Hinzufügen einer Spalte zu einer veröffentlichten Tabelle

  • Löschen oder Ändern einer Spalte, die für Replikationszwecke veröffentlicht wurde

  • Ausführen nicht protokollierter Operationen

Löschen oder Ändern von Replikationsobjekten

Sie müssen den Verleger löschen und neu konfigurieren, wenn Sie Nachverfolgungstabellen, Trigger, Sequenzen oder gespeicherte Prozeduren auf Verlegerebene löschen oder ändern. Eine (nicht erschöpfende) Liste dieser Objekte finden Sie unter Auf dem Oracle-Verleger erstellte Objekte.

Informationen zum Löschen und Neukonfigurieren des Verlegers finden Sie im Abschnitt zu Änderungen, die eine Neukonfiguration des Verlegers erforderlich machen, im Thema Problembehandlung bei Oracle-Verlegern.