¿Cómo soluciono los errores “ERROR: No tables were found at task initialization” (ERROR: No se encontraron tablas en la inicialización de la tarea) en mi tarea de AWS DMS cuando sí hay tablas en la base de datos de origen?

4 minutos de lectura
0

He recibido el error “ERROR: No tables were found at task initialization” (ERROR: No se encontraron tablas en la inicialización de la tarea) cuando intenté migrar mis datos mediante AWS Database Migration Service (AWS DMS). Sin embargo, las tablas están presentes en mi base de datos de origen.

Descripción breve

Hay un par de motivos por los que puede aparecer el error “No tables were found at task initialization” (No se encontraron tablas en la inicialización de la tarea):

  • Las reglas de asignación de AWS DMS no están definidas correctamente.
  • No tiene los privilegios necesarios para obtener las tablas de origen.

El motivo de este error depende de la configuración y del motor de base de datos que utilice. Para resolver el problema, siga los pasos de solución de problemas pertinentes para su caso de uso.

Resolución

Las reglas de asignación no están definidas correctamente

Algunos motores de bases de datos que AWS DMS utiliza como origen distinguen entre mayúsculas y minúsculas, como Oracle o DB2. Por lo tanto, cuando utiliza Oracle o DB2 como origen de AWS DMS, los nombres de las tablas, los nombres de las vistas y los nombres de las columnas deben estar en mayúsculas.

Por el contrario, motores de bases de datos como MySQL y PostgreSQL utilizan minúsculas para todos los objetos de forma predeterminada. Para obtener más información, consulte Using source filters (Uso de filtros de origen).

Las reglas de asignación y la configuración de los puntos de conexión de AWS DMS distinguen entre mayúsculas y minúsculas porque deben funcionar con diversos motores de origen. Si los nombres de los objetos especificados en una tarea de AWS DMS son diferentes de los nombres de la base de datos de origen, la tarea fallará.

Para resolver este problema, siga los siguientes puntos:

1.    Asegúrese de que las tablas existan en el origen y no se eliminen antes de que comience la tarea.

2.    Si las tablas existen en el origen, asegúrese de que los nombres de los objetos coincidan exactamente con el nombre de la base de datos de origen.

Por ejemplo, cuando utiliza una base de datos de Oracle como origen, Oracle utiliza los siguientes nombres de objetos de ejemplo:

  • SID de la base de datos de origen: ORCL: utilícelo para configurar el nombre de la base de datos de punto de conexión de origen de Oracle.
  • Nombre del esquema de la base de datos de origen: ADMIN: utilícelo para las reglas de asignación de selección.
  • Nombre de la tabla de la base de datos de origen: TEST: utilícelo para las reglas de asignación de selección.

El siguiente ejemplo utiliza nombres de objetos en minúsculas en las reglas de asignación con Oracle como origen:

{
  "rules": [
    {
      "rule-type": "selection",
      "rule-id": "1",
      "rule-name": "1",
      "object-locator": {
        "schema-name": "admin",
        "table-name": "test"
      },
      "rule-action": "include",
      "filters": []
    }
  ]
}

Dado que Oracle requiere nombres de objetos en mayúsculas, la tarea de AWS DMS falla en este ejemplo.

El siguiente ejemplo utiliza nombres de objetos en mayúsculas en las reglas de asignación con Oracle como origen:

{
  "rules": [
    {
      "rule-type": "selection",
      "rule-id": "1",
      "rule-name": "1",
      "object-locator": {
        "schema-name": "ADMIN",
        "table-name": "TEST"
      },
      "rule-action": "include",
      "filters": []
    }
  ]
}

En este ejemplo, la tarea no falla.

No tiene los privilegios necesarios para obtener las tablas de origen

Asegúrese de contar con los permisos necesarios para obtener las tablas de origen de AWS DMS.

Si utiliza Oracle como punto de conexión de origen, consulte What are the permissions required for AWS DMS when using Oracle as the source endpoint? (¿Cuáles son los permisos necesarios para AWS DMS al utilizar Oracle como punto de conexión de origen?).

Para obtener información sobre los privilegios de cada motor de base de datos de origen, consulte Sources for data migration (Orígenes para la migración de datos).


Información relacionada

Solución de problemas de las tareas de migración en AWS Database

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año