ALLOWNOOPUPDATES | NOALLOWNOOPUPDATES

Gültig für

Replicat

Beschreibung

Verwenden Sie ALLOWNOOPUPDATES und NOALLOWNOOPUPDATES, um zu steuern, wie Replicat auf einen no-op-Vorgang reagiert. Ein No-OP-Vorgang ist ein Vorgang, bei dem keine Auswirkung auf die Zieltabelle besteht. Im Folgenden finden Sie einige Beispiele dafür, wie dies geschehen kann.

Wenn NOALLOWNOOPUPDATES verwendet wird, wird Replicat nur dann abgebrochen, wenn für die Quell- und Zieltabellen kein Schlüssel definiert ist oder das Replicat KEYCOLS nicht verwendet. In solchen Fällen, in denen die Zieltabelle keinen eindeutigen Schlüssel definiert hat und ein Aktualisierungsvorgang für eine der Quellspalten ausgeführt wird, tritt ein Fehler auf, der dem folgenden ähnelt:

Encountered an update for target table TELLER, which has no unique key defined. KEYCOLS can be used to define a key. Use ALLOWNOOPUPDATES to process the update without applying it to the target database. Use APPLYNOOPUPDATES to force the update to be applied using all columns in both the SET and WHERE clause.

Sie können den Parameter APPLYNOOPUPDATES verwenden, um die Anwendung von UPDATE zu erzwingen. APPLYNOOPUPDATES setzt ALLOWNOOPUPDATES außer Kraft. Wenn beide angegeben sind, wendet Replicat Updates an, für die Schlüsselspalten für die Quell- und Zieltabellen vorhanden sind.

Wenn ALLOWNOOPUPDATES angegeben wird, wenn der Parameter HANDLECOLLISIONS oder INSERTMISSINGUPDATES verwendet wird, und wenn Oracle GoldenGate alle Zielschlüsselwerte enthält, wendet Oracle GoldenGate eine UPDATE an, indem alle Spalten der Tabelle in der Klausel SET und der Klausel WHERE verwendet werden (das Verhalten von APPLYNOOPUPDATES wird aufgerufen). Dies ist erforderlich, damit Oracle GoldenGate feststellen kann, ob die Zeile vorhanden ist oder fehlt. Wenn er fehlt, konvertiert Oracle GoldenGate die Datei UPDATE in eine Datei INSERT.

Standard

NOALLOWNOOPUPDATES

Syntax

ALLOWNOOPUPDATES | NOALLOWNOOPUPDATES