Comment résoudre les erreurs « ERROR: No tables were found at task initialization » (ERREUR : Aucune table trouvée lors de l'initialisation de la tâche) pour ma tâche AWS DMS lorsque des tables existent dans la base de données source ?

Lecture de 4 minute(s)
0

Lorsque j'essaie de migrer mes données à l'aide d'AWS Database Migration Service (AWS DMS), je reçois l'erreur « ERROR : No tables were found at task initialization » (ERREUR : Aucune table trouvée lors de l'initialisation de la tâche). Mais il y a des tables dans ma base de données source.

Brève description

Le message d'erreur « Aucune table n'a été trouvée lors de l'initialisation de la tâche » peut s'afficher pour plusieurs raisons :

  • Les règles de mappage AWS DMS ne sont pas correctement définies.
  • Vous ne disposez pas des privilèges nécessaires pour récupérer les tables sources.

La raison de cette erreur dépend de votre configuration et du moteur de base de données que vous utilisez. Ensuite, suivez les étapes de dépannage pour résoudre le problème.

Résolution

Les règles de mappage ne sont pas définies correctement

Certains moteurs de base de données pris en charge par AWS DMS en tant que source sont sensibles à la casse, tels qu'Oracle ou DB2. Par conséquent, lorsque vous utilisez Oracle ou DB2 comme source pour AWS DMS, vos noms de tables, de vues et de colonnes doivent être en majuscules.

En comparaison, les moteurs de base de données tels que MySQL et PostgreSQL utilisent des minuscules pour tous les objets par défaut. Pour plus d'informations, consultez la section Utilisation des filtres de source.

Les règles de mappage et les paramètres de point de terminaison d'AWS DMS sont sensibles à la casse car ils doivent fonctionner avec divers moteurs sources. Si les noms d'objet spécifiés dans une tâche AWS DMS sont différents des noms de base de données source, la tâche échoue.

Pour résoudre ce problème, vérifiez les points suivants :

1.    Assurez-vous que les tables existent dans la source et qu'elles n'ont pas été supprimées avant le début de la tâche.

2.    Si les tables existent dans la source, assurez-vous que les noms des objets correspondent exactement au nom de la base de données source.

Par exemple, lorsque vous utilisez une base de données Oracle comme source, cette dernière utilise des noms d'objets tels que ceux-ci :

  • SID de la base de données source : ORCL. Utilisez ceci pour configurer le nom de la base de données du point de terminaison source Oracle.
  • Nom du schéma de la base de données source : ADMIN. Utilisez ceci pour les règles de mappage de sélection.
  • Nom de la table de base de données source : TEST. Utilisez ceci pour les règles de mappage de sélection.

L’exemple suivant utilise des noms d'objets en minuscules dans les règles de mappage avec Oracle comme source :

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

Comme Oracle exige des noms d'objets en majuscules, la tâche AWS DMS échoue dans cet exemple.

Cet exemple utilise des noms d'objets en majuscules dans les règles de mappage avec Oracle comme source :

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

Dans cet exemple, la tâche n'échoue pas.

Vous ne disposez pas des privilèges nécessaires pour récupérer les tables sources

Assurez-vous de disposer des autorisations nécessaires pour récupérer les tables sources depuis AWS DMS.

Si vous utilisez Oracle comme point de terminaison source, consultez Quelles sont les autorisations requises pour AWS DMS lorsque vous utilisez Oracle comme point de terminaison source ?

Pour plus d'informations sur les privilèges accordés à chaque moteur de base de données source, consultez la section Sources pour la migration des données.


Informations connexes

Dépannage des tâches de migration dans AWS Database Migration Service

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an