DDLERROR
Durée de validité
Extraction et réplication
Description
Utilisez le paramètre DDLERROR pour gérer les erreurs DDL sur les systèmes source et cible. Des options sont disponibles pour Extract et Replicat.
DDLERROR pour l'extraction
Utilisez l'option Extraction du paramètre DDLERROR pour gérer les erreurs sur les objets trouvés par le processus d'extraction pour lesquels les métadonnées sont introuvables.
Valeur par défaut
Fin anormale
Syntaxe
DDLERROR [RESTARTSKIP <number_of_skips>] [RETRYDELAY <seconds>] [SKIPTRIGGERERROR <number_of_errors>]
RESTARTSKIP <number_of_skips>
Permet à l'extraction d'ignorer et d'ignorer un nombre spécifique d'opérations DDL au démarrage, afin d'empêcher l'abandon de l'extraction en cas d'erreur. Par défaut, une erreur DDL entraîne l'abandon du processus Extract afin qu'aucune opération ne soit ignorée. Valeurs valides : de 1 à 100000.
Pour écrire des informations sur les opérations ignorées dans le fichier de rapport Extract, utilisez le paramètre DDLOPTIONS avec l'option REPORT.
SKIPTRIGGERERROR <number_of_errors>
(Oracle) oblige le processus Extract à ignorer et à ignorer un nombre spécifique d'erreurs DDL causées par le déclencheur DDL au démarrage. Les valeurs valides sont comprises entre 1 et 100000.
SKIPTRIGGERERROR est coché avant l'option RESTARTSKIP. Si l'extraction ignore une opération DDL en raison d'une erreur de déclencheur, cette opération n'est pas comptabilisée dans la spécification RESTARTSKIP.
DDLERROR pour le processus Replicat
Utilisez les options de réplication du paramètre DDLERROR pour gérer les erreurs qui se produisent lorsque DDL est appliqué à la base de données cible. Avec les options DDLERROR, vous pouvez gérer la plupart des erreurs de manière par défaut, par exemple pour arrêter le traitement, et également gérer d'autres erreurs de manière spécifique. Vous pouvez utiliser plusieurs instances de DDLERROR dans le même fichier de paramètres pour gérer toutes les erreurs anticipées.
Valeur par défaut
Fin anormale
Syntaxe
DDLERROR
{<error> | DEFAULT} {<response>}
{INCLUDE <inclusion_clause> | EXCLUDE <exclusion_clause>}
[IGNOREMISSINGOBJECTS | ABENDONMISSINGOBJECTS]
[RETRYDELAY <seconds>]
{<error> | DEFAULT} {<response>}
<error>
Indique une erreur DDL explicite à gérer pour cette instruction DDLERROR.
DEFAULT
Indique une valeur par défaut <response> pour toutes les erreurs DDL pour lesquelles il n'existe pas d'instruction DDLERROR explicite.
<response>
Action effectuée par le processus Replicat lorsqu'une valeur DDL <error> se produit. Il peut s'agir de l'une des valeurs suivantes :
ABEND
Annulez l'opération et mettez fin au traitement de manière anormale. ABEND est la valeur par défaut.
DISCARD
Enregistrez l'opération incriminée dans le fichier de rebut, mais poursuivez le traitement de DDL.
IGNORE
Ignorez l'erreur.
{INCLUDE <inclusion_clause> | EXCLUDE <exclusion_clause>}
Identifie le début d'une clause d'inclusion ou d'exclusion qui détermine si un élément DDL spécifique est géré ou non par l'instruction DDLERROR. Reportez-vous à la section "DDL Filtering Options" pour connaître la syntaxe et l'utilisation.
[IGNOREMISSINGOBJECTS |
ABENDONMISSINGOBJECTS] |
Contrôle si l'extraction est abandonnée lorsque DML est émis sur des objets introuvables sur la cible. Cette condition se produit généralement lorsque DDL qui ne figure pas dans la configuration de réplication est émis directement sur la cible, ou lorsqu'il existe une divergence entre les définitions source et cible.
IGNOREMISSINGOBJECTS
Le processus Replicat ignore les opérations DML sur les tables manquantes.
ABENDONMISSINGOBJECTS
Entraîne l'abandon de la réplication sur les opérations DML sur les tables manquantes.
[RETRYDELAY <seconds>]
Indique le délai en secondes entre les tentatives de relance d'une opération ayant échoué. La valeur par défaut est 10 secondes.
Exemples
Exemple 1 DDLERROR Exemple de base
Dans l'exemple suivant, l'instruction DDLERROR fait que le processus Replicat ignore l'erreur indiquée, mais pas avant de réessayer l'opération trois fois à des intervalles de dix secondes. Le processus de réplication applique le traitement des erreurs aux opérations DDL exécutées sur des objets dont le nom satisfait le caractère générique tab* (n'importe quel utilisateur, n'importe quelle opération), à l'exception de ceux qui satisfont tab1*.
DDLERROR 1234 IGNORE RETRYOP MAXRETRIES 3 RETRYDELAY 10 &
INCLUDE ALL OBJTYPE TABLE OBJNAME tab* EXCLUDE OBJNAME tab1*
Pour gérer toutes les erreurs à l'exception de cette erreur, vous pouvez ajouter l'instruction DDLERROR suivante.
DDLERROR DEFAULT ABEND
Dans ce cas, le processus Replicat abandonne les erreurs DDL.
Exemple 2 avec plusieurs instructions DDLERROR
L'ordre dans lequel vous répertoriez les instructions DDLERROR dans le fichier de paramètres n'affecte pas leur validité, sauf si plusieurs instructions DDLERROR indiquent la même erreur, sans qualificatifs supplémentaires. Dans ce cas, le processus Replicat utilise uniquement le premier répertorié. Par exemple, compte tenu des instructions suivantes, le processus Replicat abandonne l'erreur.
DDLERROR 1234 ABEND
DDLERROR 5678 IGNORE
Cependant, avec les qualificatifs appropriés, la configuration précédente devient plus utile. Exemple :
DDLERROR 1234 ABEND INCLUDE OBJNAME tab*
DDLERROR 5678 IGNORE
Dans ce cas, comme il existe une instruction INCLUDE, le processus Replicat abandonne uniquement si un nom d'objet dans une instruction DDL déplacée correspond au caractère générique tab*. Le processus Replicat ignore les opérations de déplacement qui incluent tout autre nom d'objet.