Como faço para solucionar erros do tipo “ERROR: No tables were found at task initialization” (ERRO: nenhuma tabela encontrada na inicialização da tarefa) na minha tarefa do AWS DMS quando existem tabelas no banco de dados de origem?

4 minuto de leitura
0

Quando tento migrar meus dados usando o AWS Database Migration Service (AWS DMS), recebo um erro “ERROR: No tables were found at task initialization” (ERRO: nenhuma tabela encontrada na inicialização da tarefa). Porém, tabelas estão presentes no meu banco de dados de origem.

Breve descrição

Há alguns motivos pelos quais você pode receber o erro “No tables were found at task initialization” (Nenhuma tabela foi encontrada na inicialização da tarefa):

  • As regras de mapeamento do AWS DMS estão definidas incorretamente.
  • Você não tem os privilégios necessários para obter tabelas de origem.

O motivo desse erro depende da sua configuração e do mecanismo de banco de dados que você usa. Para resolver o problema, siga as etapas de solução de problemas relevantes para o seu caso de uso.

Resolução

Regras de mapeamento estão definidas incorretamente

Alguns mecanismos de banco de dados aos quais o AWS DMS oferece suporte ao uso como origem diferenciam maiúsculas de minúsculas, como o Oracle ou o DB2. Portanto, quando você usa o Oracle ou o DB2 como a origem do AWS DMS, os nomes de tabelas, de visualização e de coluna devem usar letras maiúsculas.

Em comparação, mecanismos de banco de dados como MySQL e PostgreSQL usam letras minúsculas para todos os objetos por padrão. Para obter mais informações, consulte Usar filtros de origem.

Regras de mapeamento e configurações de endpoints do AWS DMS diferenciam maiúsculas de minúsculas porque precisam funcionar com uma variedade de mecanismos de origem. Se os nomes de objetos especificados em uma tarefa do AWS DMS forem diferentes dos nomes do banco de dados de origem, a tarefa falhará.

Para resolver esse problema, verifique os seguintes pontos:

1.    Verifique se as tabelas existem na origem e não foram excluídas antes do início da tarefa.

2.    Se as tabelas existirem na origem, certifique-se de que os nomes dos objetos correspondem exatamente ao nome do banco de dados de origem.

Por exemplo, quando você usa um banco de dados Oracle como origem, o Oracle usa os seguintes exemplos de nomes de objetos:

  • SID do banco de dados de origem: ORCL - Use isso para configurar o nome do banco de dados do endpoint de origem do Oracle.
  • Nome do esquema do banco de dados de origem: ADMIN - Use isso para as regras de mapeamento de seleção.
  • Nome da tabela do banco de dados de origem: TEST - Use isso para as regras de mapeamento de seleção.

O exemplo a seguir usa nomes de objetos em letras minúsculas nas regras de mapeamento com o Oracle como origem:

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

Como a Oracle exige nomes de objetos em letras maiúsculas, a tarefa do AWS DMS falha nesse exemplo.

O exemplo a seguir usa nomes de objetos em letras maiúsculas nas regras de mapeamento com o Oracle como origem:

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

Neste exemplo, a tarefa não falha.

Você não tem os privilégios necessários para obter tabelas de origem

Certifique-se de ter as permissões necessárias para obter tabelas de origem do AWS DMS.

Se você usa o Oracle como seu endpoint de origem, consulte Quais são as permissões necessárias para o AWS DMS ao usar o Oracle como endpoint de origem?

Para obter informações sobre privilégios para cada mecanismo de banco de dados de origem, consulte Fontes para migração de dados.


Informações relacionadas

Solução de problemas de tarefas de migração no AWS Database Migration

AWS OFICIAL
AWS OFICIALAtualizada há um ano