TOUTES LES DATES | TOUTES LES DATES

Durée de validité

Réplication

Description

Utilisez ALLOWNOOPUPDATES et NOALLOWNOOPUPDATES pour contrôler comment le processus de réplication répond à une opération no-op. Une opération no-op n'a aucun effet sur la table cible. Voici quelques exemples de la façon dont cela peut se produire.

Lorsque NOALLOWNOOPUPDATES est utilisé, le processus de réplication ne s'interrompt que si aucune clé n'est définie pour les tables source et cible, ou si le processus de réplication n'utilise pas KEYCOLS. Dans de tels cas, dans lequel la table cible nʼa pas de clé unique définie et une opération de mise à jour est effectuée sur lʼune quelconque des colonnes source, une erreur similaire à la suivante se produit :

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.

Vous pouvez utiliser le paramètre APPLYNOOPUPDATES pour forcer l'application de UPDATE. APPLYNOOPUPDATES remplace ALLOWNOOPUPDATES. Si les deux sont indiqués, le processus Replicat applique les mises à jour pour lesquelles il existe des colonnes de clé pour les tables source et cible.

Si ALLOWNOOPUPDATES est indiqué lors de l'utilisation du paramètre HANDLECOLLISIONS ou INSERTMISSINGUPDATES, et si Oracle GoldenGate possède toutes les valeurs de clé cible, Oracle GoldenGate applique une valeur UPDATE en utilisant toutes les colonnes de la table dans la clause SET et la clause WHERE (appel du comportement APPLYNOOPUPDATES). Cette opération est nécessaire pour qu'Oracle GoldenGate puisse déterminer si la ligne est présente ou manquante. Si elle est manquante, Oracle GoldenGate convertit le fichier UPDATE en fichier INSERT.

Valeur par défaut

NOALLOWNOOPUPDATES

Syntaxe

ALLOWNOOPUPDATES | NOALLOWNOOPUPDATES