Paramètres de traitement des erreurs pour une tâche - AWS Service de Migration de Base de Données

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Paramètres de traitement des erreurs pour une tâche

Vous pouvez définir le comportement de gestion des erreurs de votre tâche de réplication en utilisant les paramètres suivants. Pour en savoir plus sur l’utilisation d’un fichier de configuration de tâche pour définir les paramètres d’une tâche, consultez Exemple de paramètres de tâche.

  • DataErrorPolicy— Détermine l'action AWS entreprise par DMS en cas d'erreur liée au traitement des données au niveau de l'enregistrement. Certains exemples d'erreurs liées au traitement de données comprennent les erreurs de conversion, les erreurs dans la transformation et les données incorrectes. L’argument par défaut est LOG_ERROR.

    • IGNORE_RECORD : la tâche continue et les données de cet enregistrement sont ignorées. Le compteur d'erreurs pour la propriété DataErrorEscalationCount est incrémenté. Par conséquent, si vous définissez une limite pour les erreurs pour une table, cette erreur est prise en compte dans cette limite.

    • LOG_ERROR : la tâche continue et l’erreur est écrite dans le journal de la tâche.

    • SUSPEND_TABLE : la tâche continue, mais les données de la table avec l’enregistrement d’erreur basculent à l’état d’erreur et les données ne sont pas répliquées.

    • STOP_TASK : la tâche s’arrête et une intervention manuelle est requise.

  • DataTruncationErrorPolicy : détermine l’action exécutée par AWS DMS lorsque les données sont tronquées. L’argument par défaut est LOG_ERROR.

    • IGNORE_RECORD : la tâche continue et les données de cet enregistrement sont ignorées. Le compteur d'erreurs pour la propriété DataErrorEscalationCount est incrémenté. Par conséquent, si vous définissez une limite pour les erreurs pour une table, cette erreur est prise en compte dans cette limite.

    • LOG_ERROR : la tâche continue et l’erreur est écrite dans le journal de la tâche.

    • SUSPEND_TABLE : la tâche continue, mais les données de la table avec l’enregistrement d’erreur basculent à l’état d’erreur et les données ne sont pas répliquées.

    • STOP_TASK : la tâche s’arrête et une intervention manuelle est requise.

  • DataErrorEscalationPolicy : détermine l’action exécutée par AWS DMS lorsque le nombre maximal d’erreurs (défini dans le paramètre DataErrorEscalationCount) est atteint. L’argument par défaut est SUSPEND_TABLE.

    • SUSPEND_TABLE : la tâche continue, mais les données de la table avec l’enregistrement d’erreur basculent à l’état d’erreur et les données ne sont pas répliquées.

    • STOP_TASK : la tâche s’arrête et une intervention manuelle est requise.

  • DataErrorEscalationCount : définit le nombre maximal d’erreurs qui peuvent avoir lieu sur les données pour un enregistrement spécifique. Lorsque ce nombre est atteint, les données de la table qui contient l'enregistrement d'erreur sont traitées conformément à la stratégie définie dans DataErrorEscalationPolicy. La valeur par défaut est 0.

  • EventErrorPolicy— Détermine l'action entreprise par AWS DMS lorsqu'une erreur se produit lors de l'envoi d'un événement lié à une tâche. Les valeurs possibles sont les suivantes :

    • IGNORE : la tâche continue et toutes les données associées à cet événement sont ignorées.

    • STOP_TASK : la tâche s’arrête et une intervention manuelle est requise.

  • TableErrorPolicy : détermine l’action exécutée par AWS DMS lorsqu’une erreur se produit pendant le traitement des données ou des métadonnées d’une table spécifique. Cette erreur s'applique uniquement aux données générales de la table. Il ne s'agit pas d'une erreur liée à un enregistrement spécifique. L’argument par défaut est SUSPEND_TABLE.

    • SUSPEND_TABLE : la tâche continue, mais les données de la table avec l’enregistrement d’erreur basculent à l’état d’erreur et les données ne sont pas répliquées.

    • STOP_TASK : la tâche s’arrête et une intervention manuelle est requise.

  • TableErrorEscalationPolicy : détermine l’action exécutée par AWS DMS lorsque le nombre maximal d’erreurs (défini à l’aide du paramètre TableErrorEscalationCount) est atteint. Le paramètre par défaut et le seul paramètre utilisateur est STOP_TASK, avec lequel la tâche est arrêtée et une intervention manuelle est requise.

  • TableErrorEscalationCount : nombre maximal d’erreurs qui peuvent avoir lieu sur les données ou les métadonnées générales pour une table spécifique. Lorsque ce nombre est atteint, les données de la table sont traitées conformément à la stratégie définie dans TableErrorEscalationPolicy. La valeur par défaut est 0.

  • RecoverableErrorCount : nombre maximal de tentatives effectuées pour redémarrer une tâche lorsqu’une erreur d’environnement se produit. Une fois que le système a tenté de redémarrer la tâche le nombre de fois indiqué, la tâche est arrêtée et une intervention manuelle est requise. La valeur par défaut est -1.

    Lorsque vous définissez cette valeur sur -1, le nombre de tentatives effectuées par DMS varie en fonction du type d'erreur renvoyé, comme suit :

    • État en cours d'exécution, erreur récupérable : si une erreur réparable, telle qu'une perte de connexion ou un échec de l'application de la cible, se produit, DMS réessaie la tâche neuf fois.

    • État de départ, erreur récupérable : DMS réessaie la tâche six fois.

    • État en cours d'exécution, erreur fatale gérée par DMS : DMS réessaie la tâche six fois.

    • État en cours d'exécution, erreur fatale non gérée par DMS : DMS ne réessaie pas la tâche.

    • Autre que ci-dessus : AWS DMS réessaie la tâche indéfiniment.

    Définissez cette valeur sur 0 pour ne jamais essayer de redémarrer une tâche.

    Nous vous recommandons de définir RecoverableErrorCount et sur RecoverableErrorInterval des valeurs telles qu'il y ait suffisamment de tentatives à intervalles suffisants pour que votre tâche DMS soit correctement rétablie. En cas d'erreur fatale, DMS arrête de faire des tentatives de redémarrage dans la plupart des scénarios.

  • RecoverableErrorInterval— Le nombre de secondes pendant lesquelles le AWS DMS attend entre deux tentatives de redémarrage d'une tâche. La valeur par défaut est 5.

  • RecoverableErrorThrottling : lorsque cette option est activée, l’intervalle entre les tentatives de redémarrage d’une tâche est augmenté en série en fonction de la valeur de RecoverableErrorInterval. Par exemple, si RecoverableErrorInterval est défini sur 5 secondes, la prochaine tentative aura lieu après 10 secondes, puis 20, puis 40 secondes et ainsi de suite. L’argument par défaut est true.

  • RecoverableErrorThrottlingMax— Le nombre maximal de secondes pendant lesquelles le AWS DMS attend entre deux tentatives de redémarrage d'une tâche s'il RecoverableErrorThrottling est activé. La valeur par défaut est 1800.

  • RecoverableErrorStopRetryAfterThrottlingMax— Lorsque ce paramètre est défini surtrue, arrête le redémarrage de la tâche une fois que le nombre maximum de secondes d' AWS DMS attente entre les tentatives de restauration est atteint, par. RecoverableErrorThrottlingMax

  • ApplyErrorDeletePolicy : détermine l’action exécutée par AWS DMS quand un conflit lié à une opération DELETE a lieu. L’argument par défaut est IGNORE_RECORD. Les valeurs possibles sont les suivantes :

    • IGNORE_RECORD : la tâche continue et les données de cet enregistrement sont ignorées. Le compteur d'erreurs pour la propriété ApplyErrorEscalationCount est incrémenté. Par conséquent, si vous définissez une limite pour les erreurs pour une table, cette erreur est prise en compte dans cette limite.

    • LOG_ERROR : la tâche continue et l’erreur est écrite dans le journal de la tâche.

    • SUSPEND_TABLE : la tâche continue, mais les données de la table avec l’enregistrement d’erreur basculent à l’état d’erreur et les données ne sont pas répliquées.

    • STOP_TASK : la tâche s’arrête et une intervention manuelle est requise.

  • ApplyErrorInsertPolicy : détermine l’action exécutée par AWS DMS quand un conflit lié à une opération INSERT a lieu. L’argument par défaut est LOG_ERROR. Les valeurs possibles sont les suivantes :

    • IGNORE_RECORD : la tâche continue et les données de cet enregistrement sont ignorées. Le compteur d'erreurs pour la propriété ApplyErrorEscalationCount est incrémenté. Par conséquent, si vous définissez une limite pour les erreurs pour une table, cette erreur est prise en compte dans cette limite.

    • LOG_ERROR : la tâche continue et l’erreur est écrite dans le journal de la tâche.

    • SUSPEND_TABLE : la tâche continue, mais les données de la table avec l’enregistrement d’erreur basculent à l’état d’erreur et les données ne sont pas répliquées.

    • STOP_TASK : la tâche s’arrête et une intervention manuelle est requise.

    • INSERT_RECORD : s’il existe un enregistrement cible avec la même clé primaire que l’enregistrement source inséré, l’enregistrement cible est mis à jour.

  • ApplyErrorUpdatePolicy : détermine l’action exécutée par AWS DMS quand un conflit de données manquantes lié à une opération UPDATE a lieu. L’argument par défaut est LOG_ERROR. Les valeurs possibles sont les suivantes :

    • IGNORE_RECORD : la tâche continue et les données de cet enregistrement sont ignorées. Le compteur d'erreurs pour la propriété ApplyErrorEscalationCount est incrémenté. Par conséquent, si vous définissez une limite pour les erreurs pour une table, cette erreur est prise en compte dans cette limite.

    • LOG_ERROR : la tâche continue et l’erreur est écrite dans le journal de la tâche.

    • SUSPEND_TABLE : la tâche continue, mais les données de la table avec l’enregistrement d’erreur basculent à l’état d’erreur et les données ne sont pas répliquées.

    • STOP_TASK : la tâche s’arrête et une intervention manuelle est requise.

    • UPDATE_RECORD— Si l'enregistrement cible est manquant, l'enregistrement cible manquant est inséré dans la table cible. AWS DMS désactive complètement le support des colonnes LOB pour la tâche. La sélection de cette option nécessite qu'une journalisation supplémentaire complète soit activée pour toutes les colonnes de la table source quand Oracle est la base de données source.

  • ApplyErrorEscalationPolicy— Détermine l'action AWS entreprise par DMS lorsque le nombre maximum d'erreurs (défini à l'aide du ApplyErrorEscalationCount paramètre) est atteint. La valeur par défaut est LOG_ERROR :

    • LOG_ERROR : la tâche continue et l’erreur est écrite dans le journal de la tâche.

    • SUSPEND_TABLE : la tâche continue, mais les données de la table avec l’enregistrement d’erreur basculent à l’état d’erreur et les données ne sont pas répliquées.

    • STOP_TASK : la tâche s’arrête et une intervention manuelle est requise.

  • ApplyErrorEscalationCount : cette option définit le nombre maximal de conflits APPLY qui peuvent se produire pour une table spécifique pendant une opération de traitement des modifications. Lorsque ce nombre est atteint, les données de la table sont traitées conformément à la stratégie définie dans le paramètre ApplyErrorEscalationPolicy. La valeur par défaut est 0.

  • ApplyErrorFailOnTruncationDdl : définissez cette option sur true pour faire échouer la tâche lorsqu’une troncation est effectuée sur l’une des tables suivies pendant la CDC. L’argument par défaut est false.

    Cette approche ne fonctionne pas avec PostgreSQL version 11.x ou antérieures, ou tout autre point de terminaison source qui ne réplique pas la troncation de table DDL.

  • FailOnNoTablesCaptured : définissez cette option sur true pour faire échouer une tâche lorsque les mappages de table définis pour une tâche ne trouvent pas de tables au lancement de la tâche. L’argument par défaut est false.

  • FailOnTransactionConsistencyBreached : cette option s’applique aux tâches qui utilisent Oracle en tant que source avec la CDC. La valeur par défaut est false. Définissez le paramètre sur true pour qu'une tâche échoue lorsqu'une transaction est ouverte plus longtemps que le délai d'expiration spécifié et puisse être supprimée.

    Lorsqu'une tâche CDC démarre avec Oracle, attendez AWS DMS pendant une durée limitée que la transaction ouverte la plus ancienne soit clôturée avant de démarrer CDC. Si la transaction ouverte la plus ancienne ne se ferme pas avant que le délai ne soit atteint, le CDC AWS DMS démarre dans la plupart des cas, en ignorant cette transaction. Si cette option est définie sur true, la tâche échoue.

  • FullLoadIgnoreConflicts— Définissez cette option true pour AWS DMS ignorer les erreurs « zéro ligne affectée » et « doublons » lors de l'application d'événements mis en cache. Si ce paramètre est défini AWS DMS surfalse, signale toutes les erreurs au lieu de les ignorer. L’argument par défaut est true.

  • DataMaskingErrorPolicy— Détermine les mesures à AWS DMS prendre lorsque le masquage des données échoue en raison d'un type de données incompatible ou pour toute autre raison. Les options disponibles sont les suivantes :

    • STOP_TASK(Par défaut) — La tâche s'arrête et une intervention manuelle est requise.

    • IGNORE_RECORD : la tâche continue et les données de cet enregistrement sont ignorées.

    • LOG_ERROR : la tâche continue et l’erreur est écrite dans le journal de la tâche. Les données démasquées seront chargées dans la table cible.

    • SUSPEND_TABLE : la tâche continue, mais les données de la table avec l’enregistrement d’erreur basculent à l’état d’erreur et les données ne sont pas répliquées.

Notez que les erreurs de chargement de table dans Redshift en tant que cible sont signalées dans STL_LOAD_ERRORS. Pour plus d’informations, consultez STL_LOAD_ERRORS dans le Guide du développeur de base de données Amazon Redshift.