¿Cuándo debo reiniciar y reanudar mi tarea de AWS DMS que su estado es “Stopped” (Detenido) o “Failed” (Fallido)?

Última actualización: 22/11/2022

El estado de una tarea de AWS Database Migration Service (AWS DMS) es “Stopped” (Detenido) o “Failed” (Fallido). ¿Cuándo debo reanudar o reiniciar mi tarea de AWS DMS para continuar con la reproducción?

Descripción corta

Cuando su tarea de AWS DMS está en estado Detenido o Fallido, tiene dos opciones que le permiten continuar con la reproducción:

  • Reanudar: cuando reanuda una tarea, AWS DMS continúa la reproducción desde el último punto antes de que la tarea se detuviera o fallara.
  • Reiniciar: cuando reinicia una tarea, AWS DMS comienza la reproducción desde el principio y utiliza el modo de preparación de tablas que eligió cuando creó la tarea. Por ejemplo, los modos de preparación de tablas incluyen Dejar tabla en el destino, Truncar y No hacer nada. Para obtener más información, consulte Full-load task settings (Configuración de tareas de carga completa).

El comportamiento de las acciones de reanudación y reinicio varía en función de cuál de los tres métodos de migración de AWS DMS usa actualmente. Estos métodos incluyen la migración de carga completa, la migración de carga completa y captura de datos de cambios (CDC) y la migración solo de CDC. Para obtener más información, consulte Creating a task (Cómo crear una tarea).

Resolución

Migrar los datos existentes (carga completa)

Para una tarea de carga completa, si decide iniciar la tarea manualmente durante su creación, use la acción de reinicio en la consola de AWS DMS para iniciar la replicación. Esto vuelve a cargar todas las tablas de la migración.

También puede usar la opción de volver a cargar los datos de la tabla para volver a cargar tablas específicas que fallaron durante la migración. Esto significa que las tablas que ya están cargadas no tienen que volver a cargarse y las tablas que no terminaron de cargarse se cargan de nuevo.

Si usa la opción de reanudación al migrar varias tablas, las tablas que no se completaron totalmente vuelven a empezar. Las tablas que completaron la migración no se ven afectadas. Si va a migrar una sola tabla, se recomienda reiniciar la tarea en lugar de usar la opción de reanudación.

Migrar los datos existentes y replicar los cambios en curso (carga completa y CDC)

Cuando utiliza una tarea de carga completa y de CDC, AWS DMS migra los datos de la tabla y, a continuación, aplica los cambios de datos que se producen en el origen. Si reinicia la tarea, se cargan de nuevo todas las tablas y se empieza a capturar los cambios del origen desde el momento de reinicio. Si la tarea está configurada con el modo de preparación No hacer nada, vacíe manualmente las tablas de destino antes de reiniciar la tarea.

Si reanuda la tarea, solo se aplican a la base de datos los cambios que se capturaron después del último punto de parada. Si la tarea de migración se detiene durante la fase de CDC, AWS DMS mantiene la información del punto de control para utilizarla en el futuro. Puede ver el punto de control de la tarea en la pestaña Overview details (Detalles generales) de la consola de AWS DMS.

Replicar solo los cambios de datos (solo de CDC)

Cuando usa una tarea solo de CDC, puede comenzar a capturar los cambios en los datos de origen desde la hora actual o desde el punto de inicio de CDC. Si reinicia la tarea cuando se define un punto de inicio de CDC, la operación de recarga carga todos los cambios desde este punto en el tiempo. Si reinicia una tarea sin un punto de inicio de los CDC, se perderán los cambios de CDC que se hicieron desde que se detuvo la tarea hasta que se reinició.

La operación de reanudación continúa replicando los cambios desde el último punto de parada, independientemente de la configuración del punto de inicio de CDC. Si reinicia una tarea con un modo de preparación de tablas de destino truncado, AWS DMS deja las tablas de destino existentes y sus metadatos en su lugar. Sin embargo, elimina todos los datos existentes de estas tablas antes de reiniciar la migración.

Situaciones comunes para reanudar o reiniciar una tarea de AWS DMS

Estos son algunos ejemplos comunes de cuándo puede usar las operaciones de reanudación o reinicio en su tarea de AWS DMS.

Reinicie la tarea de AWS DMS:

  • Si el sistema de administración de bases de datos (DBMS) de origen no contiene los archivos de registro de recuperación o los archivos de registro de transacciones para reanudar el proceso de CDC, reinicie la tarea. Al reiniciar la tarea, se cargan todos los datos de la tabla y continúa la captura de los cambios.
  • Si el estado de una tarea de AWS DMS es “Error”, significa que no se pudieron migrar una o más de las tablas de la tarea. En un estado “Error”, la tarea sigue cargando otras tablas de la regla de selección, pero una tarea con el estado “Failed” (Fallido) se detiene con errores irrecuperables. Después de solucionar los errores, vuelva a cargar las tablas o reinicie la tarea para resolver el estado de error. Para obtener más información, consulte Why is my AWS DMS task in an error status? (¿Por qué el estado de mi tarea de AWS DMS es “Error”?)
  • Si se detiene una tarea de carga completa y de CDC o solo de CDC, los cambios en los datos pueden extenderse de la memoria al disco. Según el volumen de datos de cambio intercambiados en el disco, la reanudación de una tarea puede tardar mucho tiempo en continuar con la reproducción. Esto se debe a que AWS DMS tarda más en leer estos cambios del disco. Por lo tanto, si es posible, reinicie la tarea para evitar este tiempo de espera.
  • Si cambia entre usar Oracle LogMiner y AWS DMS Binary Reader, asegúrese de reiniciar la tarea de CDC.
    Nota: Después de modificar el método de CDC, si reinicia una tarea exclusiva de CDC que está configurada con el punto de control de recuperación de CDC, es posible que observe un error similar al siguiente:
    “[SOURCE_CAPTURE ]D: Invalid context provided for the Binary Reader based CDC. Restart task is required”. ([SOURCE_CAPTURE] D:Se proporcionó contexto no válido para la CDC que se basa en el lector binario. Es necesario reiniciar la tarea).
    Para resolver este error, inicie la tarea en función de la marca de tiempo en el punto de inicio de CDC.

Reanude la tarea de AWS DMS:

  • Si mueve una tarea a una nueva instancia de replicación, reanúdela para continuar con la replicación de los cambios desde el punto en que se detuvo por última vez.
  • Si desea actualizar las bases de datos de origen o destino, detenga las tareas de AWS DMS que se estén ejecutando en estas bases de datos. Reanude las tareas después de que se hayan completado las actualizaciones.
  • Si planea actualizar las bases de datos de origen o destino, detenga las tareas de AWS DMS que se estén ejecutando en estas bases de datos. Reanude las tareas después de que se hayan completado las actualizaciones. Sin embargo, para llevar a cabo una actualización de la versión del motor de PostgreSQL, no puede tener ninguna ranura de replicación en la instancia. Por lo tanto, elimine las ranuras de reproducción antes de actualizar el motor y, a continuación, reinicie la tarea para volver a crear la ranura de reproducción.