ALLOWNOOPUPDATES | NOALLOWNOOPDATES

有効な対象

Replicat

摘要

ALLOWNOOPUPDATESおよびNOALLOWNOOPUPDATESを使用して、Replicatがno-op操作に対応する方法を制御します。no-op操作は、ターゲット表では無効な操作です。次に、これを指定する場合の例を示します。

NOALLOWNOOPUPDATESが使用されている場合、Replicatは、ソース表とターゲット表にキーが定義されていない場合、またはReplicatでKEYCOLSが使用されない場合にのみ異常終了します。このような場合、ターゲット表に一意のキーが定義されておらず、ソース列のいずれかで更新操作が実行されると、次のようなエラーが発生します。

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.

パラメータAPPLYNOOPUPDATESを使用して、強制的にUPDATEを適用させることができます。APPLYNOOPUPDATESは、ALLOWNOOPUPDATESより優先されます。両方が指定された場合、Replicatは、ソース表とターゲット表のキー列が存在する更新を適用します。

HANDLECOLLISIONSまたはINSERTMISSINGUPDATESパラメータが使用されているときにALLOWNOOPUPDATESが指定された場合、およびOracle GoldenGateにすべてのターゲット・キー値がある場合、Oracle GoldenGateは、SET句およびWHERE句の表のすべての列を使用して(APPLYNOOPUPDATES動作を起動して)、UPDATEを適用します。これは、Oracle GoldenGateが行の存在または欠落を判別するために必要です。欠落している場合、Oracle GoldenGateは、UPDATEをINSERTに変換します。

デフォルト

NOALLOWNOOPUPDATES

構文

ALLOWNOOPUPDATES | NOALLOWNOOPUPDATES