Configuración de las tareas de administración de errores - AWS Database Migration Service

Configuración de las tareas de administración de errores

Puede establecer el comportamiento de la administración de errores de la tarea de replicación mediante los siguientes valores de configuración. Para obtener información sobre cómo utilizar un archivo de configuración de tareas para establecer la configuración de las tareas, consulte Ejemplo de configuración de tarea.

  • DataErrorPolicy: determina la acción que emprende AWS DMS cuando hay un error relacionado con el procesamiento de datos en el nivel de registro. Algunos ejemplos de errores en el procesamiento de datos incluyen los errores de conversión, los errores de transformación y los datos incorrectos. El valor predeterminado es LOG_ERROR.

    • IGNORE_RECORD: la tarea continúa y los datos de este registro se omiten. El recuento de errores de la propiedad DataErrorEscalationCount se incrementa. Por lo tanto, si se establece un límite en los errores de una tabla, este error cuenta para el límite.

    • LOG_ERROR: la tarea continúa y el error se escribe en el registro de tareas.

    • SUSPEND_TABLE: la tarea continúa, pero los datos de la tabla con el registro de errores se pasan a un estado de error y los datos no se replican.

    • STOP_TASK: la tarea se detiene y se necesitará intervención manual.

  • DataTruncationErrorPolicy: determina la acción que emprende AWS DMS cuando se truncan datos. El valor predeterminado es LOG_ERROR.

    • IGNORE_RECORD: la tarea continúa y los datos de este registro se omiten. El recuento de errores de la propiedad DataErrorEscalationCount se incrementa. Por lo tanto, si se establece un límite en los errores de una tabla, este error cuenta para el límite.

    • LOG_ERROR: la tarea continúa y el error se escribe en el registro de tareas.

    • SUSPEND_TABLE: la tarea continúa, pero los datos de la tabla con el registro de errores se pasan a un estado de error y los datos no se replican.

    • STOP_TASK: la tarea se detiene y se necesitará intervención manual.

  • DataErrorEscalationPolicy: determina la acción que emprende AWS DMS cuando se alcanza el número máximo de errores (establecido en el parámetro DataErrorEscalationCount). El valor predeterminado es SUSPEND_TABLE.

    • SUSPEND_TABLE: la tarea continúa, pero los datos de la tabla con el registro de errores se pasan a un estado de error y los datos no se replican.

    • STOP_TASK: la tarea se detiene y se necesitará intervención manual.

  • DataErrorEscalationCount: establece el número máximo de errores que pueden producirse en los datos para un registro específico. Cuando se alcanza esta cifra, los datos de la tabla que contiene el registro de errores se administran de acuerdo con la política que se estableció en DataErrorEscalationPolicy. El valor predeterminado es 0.

  • EventErrorPolicy: determina la acción que realiza AWS DMS cuando se produce un error al enviar un evento relacionado con una tarea. Los valores posibles son

    • IGNORE: la tarea continúa y se ignoran los datos asociados a ese evento.

    • STOP_TASK: la tarea se detiene y se necesitará intervención manual.

  • TableErrorPolicy: determina la acción que emprende AWS DMS cuando se produce un error al procesar los datos o los metadatos para una tabla específica. Este error solo se aplica a los datos de la tabla general y no es un error que se refiera a un registro específico. El valor predeterminado es SUSPEND_TABLE.

    • SUSPEND_TABLE: la tarea continúa, pero los datos de la tabla con el registro de errores se pasan a un estado de error y los datos no se replican.

    • STOP_TASK: la tarea se detiene y se necesitará intervención manual.

  • TableErrorEscalationPolicy: determina la acción que emprende AWS cuando se alcanza el número máximo de errores (establecida utilizando el parámetro TableErrorEscalationCount). El valor de configuración predeterminado y único del usuario es STOP_TASK, con el que la tarea se detiene y se requiere intervención manual.

  • TableErrorEscalationCount: el número máximo de errores que pueden producirse en los datos o metadatos generales para una tabla específica. Cuando se alcanza esta cifra, los datos de la tabla se gestionan de acuerdo con la política establecida en TableErrorEscalationPolicy. El valor predeterminado es 0.

  • RecoverableErrorCount: el número máximo de intentos para reiniciar una tarea cuando se produce un error del entorno. Después de que el sistema intenta reiniciar la tarea el número de veces establecido, la tarea se detiene y se requiere intervención manual. El valor predeterminado es -1.

    Si se establece este valor en -1, el número de reintentos realizados por DMS varía en función del tipo de error devuelto, de la siguiente forma:

    • Estado de ejecución, error recuperable: si se produce un error recuperable, como una conexión perdida o un error de aplicación de destino, DMS reintenta realizar la tarea nueve veces.

    • Estado inicial, error recuperable: DMS reintenta realizar la tarea seis veces.

    • Estado de ejecución, error grave gestionado por DMS: DMS reintenta realizar la tarea seis veces.

    • Estado de ejecución, error grave no gestionado por DMS: DMS no reintenta realizar la tarea.

    • Excepto lo anterior: AWS DMS reintenta la tarea de forma indefinida.

    Establezca este valor en 0 para no intentar nunca reiniciar una tarea.

    Se recomienda establecer RecoverableErrorCount y RecoverableErrorInterval en valores que permitan suficientes reintentos a intervalos suficientes para que la tarea de DMS se recupere de forma adecuada. Si se produce un error grave, DMS deja de intentar reiniciar en la mayoría de los casos.

  • RecoverableErrorInterval: el número de segundos que espera AWS DMS entre intentos para reiniciar una tarea. El valor predeterminado es 5.

  • RecoverableErrorThrottling: cuando se habilita, el intervalo entre los intentos de reiniciar una tarea se incrementa en una serie en función del valor de RecoverableErrorInterval. Por ejemplo, si RecoverableErrorInterval se establece en 5 segundos, el siguiente reintento se realizará después de 10 segundos, 20, 40 segundos y así sucesivamente. El valor predeterminado es true.

  • RecoverableErrorThrottlingMax: el número máximo de segundos que espera AWS DMS entre intentos para reiniciar una tarea si RecoverableErrorThrottling está habilitado. El valor predeterminado es 1800.

  • RecoverableErrorStopRetryAfterThrottlingMax: valor predeterminado establecido en true, DMS detiene el reinicio de la tarea cuando se alcanza el número máximo de segundos que AWS DMS espera entre los intentos de recuperación, por RecoverableErrorStopRetryAfterThrottlingMax. Si se establece en false, DMS sigue reanudando la tarea cuando se alcanza el número máximo de segundos que AWS DMS espera entre los intentos de recuperación, por RecoverableErrorStopRetryAfterThrottlingMax hasta que se alcance RecoverableErrorCount.

  • ApplyErrorDeletePolicy: determina la acción que va emprender AWS DMS cuando existe un conflicto con una operación DELETE. El valor predeterminado es IGNORE_RECORD. Los valores posibles son los siguientes:

    • IGNORE_RECORD: la tarea continúa y los datos de este registro se omiten. El recuento de errores de la propiedad ApplyErrorEscalationCount se incrementa. Por lo tanto, si se establece un límite en los errores de una tabla, este error cuenta para el límite.

    • LOG_ERROR: la tarea continúa y el error se escribe en el registro de tareas.

    • SUSPEND_TABLE: la tarea continúa, pero los datos de la tabla con el registro de errores se pasan a un estado de error y los datos no se replican.

    • STOP_TASK: la tarea se detiene y se necesitará intervención manual.

  • ApplyErrorInsertPolicy: determina la acción que va emprender AWS DMS cuando existe un conflicto con una operación INSERT. El valor predeterminado es LOG_ERROR. Los valores posibles son los siguientes:

    • IGNORE_RECORD: la tarea continúa y los datos de este registro se omiten. El recuento de errores de la propiedad ApplyErrorEscalationCount se incrementa. Por lo tanto, si se establece un límite en los errores de una tabla, este error cuenta para el límite.

    • LOG_ERROR: la tarea continúa y el error se escribe en el registro de tareas.

    • SUSPEND_TABLE: la tarea continúa, pero los datos de la tabla con el registro de errores se pasan a un estado de error y los datos no se replican.

    • STOP_TASK: la tarea se detiene y se necesitará intervención manual.

    • INSERT_RECORD: si hay un registro de destino con la misma clave principal que el registro de origen que se insertó, el registro de destino se actualiza.

      nota
      • En el modo de aplicación transaccional: en este proceso, el sistema primero intenta insertar el registro. Si la inserción falla debido a un conflicto de clave principal, elimina el registro existente y, a continuación, inserta el nuevo.

      • En el modo de aplicación por lotes: el proceso elimina todos los registros existentes del lote de destino antes de insertar el conjunto completo de registros nuevos, lo que garantiza una sustitución limpia de los datos.

  • ApplyErrorUpdatePolicy: determina qué acción va emprender AWS DMS cuando existe un conflicto de datos que faltan con una operación UPDATE. El valor predeterminado es LOG_ERROR. Los valores posibles son los siguientes:

    • IGNORE_RECORD: la tarea continúa y los datos de este registro se omiten. El recuento de errores de la propiedad ApplyErrorEscalationCount se incrementa. Por lo tanto, si se establece un límite en los errores de una tabla, este error cuenta para el límite.

    • LOG_ERROR: la tarea continúa y el error se escribe en el registro de tareas.

    • SUSPEND_TABLE: la tarea continúa, pero los datos de la tabla con el registro de errores se pasan a un estado de error y los datos no se replican.

    • STOP_TASK: la tarea se detiene y se necesitará intervención manual.

    • UPDATE_RECORD: si falta el registro de destino, este se inserta en la tabla de destino. AWS DMS desactiva completamente la compatibilidad de columnas LOB para la tarea. Si se selecciona esta opción, es necesario habilitar el registro suplementario completo para todas las columnas en la tabla de origen cuando Oracle sea la base de datos de origen.

      nota
      • En el modo de aplicación transaccional: en este proceso, el sistema primero intenta actualizar el registro. Si se produce un error en la actualización porque falta un registro en el destino, elimina el registro fallido y, a continuación, inserta el nuevo registro. Este proceso requiere un registro complementario completo para las bases de datos de origen de Oracle. Además, DMS debe desactivar la compatibilidad con las columnas LOB para esta tarea.

      • En el modo de aplicación por lotes: el proceso elimina todos los registros existentes del lote de destino antes de insertar el conjunto completo de registros nuevos, lo que garantiza una sustitución limpia de los datos.

  • ApplyErrorEscalationPolicy: determina la acción que emprende AWS DMS cuando se alcanza el número máximo de errores (establecido utilizando el parámetro ApplyErrorEscalationCount). El valor predeterminado es LOG_ERROR:

    • LOG_ERROR: la tarea continúa y el error se escribe en el registro de tareas.

    • SUSPEND_TABLE: la tarea continúa, pero los datos de la tabla con el registro de errores se pasan a un estado de error y los datos no se replican.

    • STOP_TASK: la tarea se detiene y se necesitará intervención manual.

  • ApplyErrorEscalationCount: esta opción establece el número máximo de conflictos APPLY que pueden producirse en una tabla específica durante una operación del proceso de cambio. Cuando se alcanza esta cifra, los datos de la tabla se gestionan de acuerdo con la política establecida en el parámetro ApplyErrorEscalationPolicy. El valor predeterminado es 0.

  • ApplyErrorFailOnTruncationDdl: establezca esta opción en true para provocar el fracaso de la tarea cuando se realiza el truncado en cualquiera de las tablas a las que se ha hecho un seguimiento durante la CDC. El valor predeterminado es false.

    Este enfoque no funciona con PostgreSQL versión 11.x o menor o cualquier otro punto de conexión de origen que no replica el truncado de la tabla DDL.

  • FailOnNoTablesCaptured: establezca esta opción en true para provocar el fracaso de la tarea cuando las asignaciones de las tablas definidos para una tarea no encuentran tablas cuando la tarea comienza. El valor predeterminado es true.

  • FailOnTransactionConsistencyBreached: esta opción se aplica a tareas que utilizan Oracle como origen con CDC. El valor predeterminado es false. Establézcala en true para provocar el fracaso de la tarea cuando una transacción está abierta durante más tiempo que el tiempo de espera especificado y puede abandonarse.

    Cuando una tarea de CDC comienza con Oracle, AWS DMS espera durante un periodo de tiempo limitado a que la transacción abierta más antigua se cierre antes de iniciar la CDC. Si la transacción abierta más antigua no se cierra hasta que se alcanza el tiempo de espera, en la mayoría de casos AWS DMS inicia CDC, sin hacer caso a esa transacción. Si esta opción está establecida en true, se producirá un error en la tarea.

  • FullLoadIgnoreConflicts: establezca esta opción en true para que AWS DMS no haga caso a errores del tipo “cero filas afectadas” y “duplicados” al aplicar eventos almacenados en caché. Si se establece en false, AWS DMS informa de todos los errores en lugar de omitirlos. El valor predeterminado es true.

  • DataMaskingErrorPolicy: determina la acción que se tomar AWS DMS cuando se produce un error en el enmascaramiento de datos debido a que el tipo de datos es incompatible o por cualquier otro motivo. Están disponibles las siguientes opciones:

    • STOP_TASK (predeterminado): la tarea se detiene y se necesita intervención manual.

    • IGNORE_RECORD: la tarea continúa y los datos de este registro se omiten.

    • LOG_ERROR: la tarea continúa y el error se escribe en el registro de tareas. Los datos desenmascarados se cargarán en la tabla de destino.

    • SUSPEND_TABLE: la tarea continúa, pero los datos de la tabla con el registro de errores se pasan a un estado de error y los datos no se replican.

Tenga en cuenta que los errores de carga de tablas en Redshift como objetivo se indican en STL_LOAD_ERRORS. Para obtener más información, consulte STL_LOAD_ERRORS en la Guía para desarrolladores de bases de datos de Amazon Redshift.