GETDELETES | IGNOREDELETES
Durée de validité
Extraction et réplication
Description
Utilisez les paramètres GETDELETES et IGNOREDELETES pour contrôler si Oracle GoldenGate traite ou non les opérations DELETE. Ces paramètres sont propres à une table. Un paramètre reste en vigueur pour toutes les instructions TABLE ou MAP suivantes, jusqu'à ce que l'autre paramètre soit rencontré.
Etant donné que vous pouvez activer ou désactiver ces paramètres de manière sélective entre les instructions MAP, vous pouvez les activer ou les désactiver pour différents threads d'une réplication coordonnée. Indiquez les threads GETDELETES dans un ensemble d'instructions MAP et indiquez les threads IGNOREDELETES dans un autre ensemble d'instructions MAP.
Si ce paramètre est utilisé et qu'une clé primaire ou unique est réutilisée, le processus Replicat peut obtenir une clé primaire en double ou une erreur de clé unique lorsqu'il tente d'appliquer l'insertion. Vous devez désactiver cette contrainte (et laisser l'index) sur la cible. Dans ce cas, la table source obtient une journalisation supplémentaire sur toutes les colonnes. Utilisez KEYCOLS (*) dans l'instruction TABLE sur la source, afin que le processus Replicat dispose de toutes les colonnes nécessaires pour effectuer des opérations de mise à jour.
Valeur par défaut
GETDELETES
Syntaxe
GETDELETES | IGNOREDELETES
Exemple
Cet exemple montre comment appliquer GETDELETES et IGNOREDELETES de manière sélective à différentes instructions MAP, chacune représentant un thread différent d'une réplication coordonnée.
GETDELETES
MAP sales.cust, TARGET sales.cust, THREAD (1);
MAP sales.ord, TARGET sales.ord, THREAD (2);
IGNOREDELETES
MAP sales.loc, TARGET sales.loc, THREAD (3);
Dans cet exemple, l'opération de suppression sur sales.loc est ignorée. Il est recommandé de réactiver GETDELETES.