Todos os produtos
Search
Central de documentação

Data Transmission Service:Problemas de migração de dados

Última atualização: Oct 15, 2026
  • P: Após a execução de uma tarefa de migração de dados, os dados no banco de dados source ainda existem?

    R: A migração e a sincronização de dados do DTS copiam os dados do banco de dados source para o banco de dados de destino, sem afetar os dados na origem.

  • P: Quais instâncias de banco de dados o DTS suporta para migração?

    R: O DTS suporta migração de dados entre diversas fontes, como sistemas de gerenciamento de banco de dados relacional (RDBMSs), bancos de dados NoSQL e bancos de dados de processamento analítico online (OLAP). Para verificar as instâncias de migração suportadas, consulte Migration scenarios.

  • P: Como funciona a migração de dados?

    R: Para obter informações sobre o funcionamento da migração de dados, consulte Product architecture and feature principles.

  • P: Uma tarefa de migração de dados permanece no estado Preparing por muito tempo. O DTS está percorrendo arquivos no source?

    R: Sim. Após a criação da tarefa, o DTS envia primeiro uma solicitação HEAD ao source para sondar os dados e, em seguida, percorre todos os arquivos na origem que precisam ser migrados. A migração de dados começa oficialmente apenas após a conclusão dessa varredura. A fase Preparing não exibe o progresso da migração. Sua duração depende do volume de dados a serem migrados no source e não possui uma estimativa fixa. Quando a varredura termina, a tarefa entra automaticamente na fase de migração, sem necessidade de intervenção manual.

  • P: Posso modificar os objetos de migração de uma tarefa de migração de dados?

    R: Não.

  • P: Posso adicionar novas tabelas para migração em uma tarefa de migração de dados?

    R: Não.

  • P: Como modifico os objetos de migração, como tabelas e colunas, de uma tarefa de migração em execução?

    R: Não é possível modificar os objetos de migração de uma tarefa em andamento.

  • P: Se eu suspender uma tarefa de migração e reiniciá-la após algum tempo, ocorrerá inconsistência de dados?

    R: Caso o banco de dados source sofra alterações enquanto a tarefa de migração estiver suspensa, os dados nos bancos de dados source e de destino poderão ficar inconsistentes. Após o reinício da tarefa e a migração dos dados incrementais para o banco de dados de destino, os dados no destino voltarão a ficar consistentes com o source.

  • P: Uma tarefa de migração pode ser convertida em uma tarefa de sincronização?

    R: Não. Tarefas de tipos diferentes não podem ser convertidas entre si.

  • P: Posso migrar apenas os dados sem migrar o esquema?

    R: Sim. Ao configurar a tarefa de migração, não selecione Schema Migration.

  • P: Quais são as possíveis causas de inconsistência de dados entre o source e o destino de uma instância de migração de dados?

    As possíveis causas de inconsistência de dados incluem:

    1. O destino não foi limpo durante a configuração da tarefa e já continha dados existentes.

    2. Apenas o módulo de migração incremental foi selecionado durante a configuração, sem incluir o módulo de migração completa.

    3. Somente o módulo de migração completa foi selecionado na configuração, o módulo de migração incremental não foi incluído e os dados do source foram alterados após o término da tarefa.

    4. Dados externos à tarefa do DTS estão sendo gravados no destino.

    5. Há atraso nas gravações incrementais e nem todos os dados incrementais foram escritos no destino.

  • P: Posso modificar o nome do banco de dados source no banco de dados de destino em uma tarefa de migração de dados?

    R: Sim. Para saber como modificar o nome do banco de dados source no banco de dados de destino, consulte Object name mapping.

  • P: O DTS suporta migração de dados dentro da mesma instância?

    R: Sim. Para obter informações sobre como realizar a migração de dados na mesma instância, consulte Synchronize or migrate data between databases of different names.

  • P: O DTS suporta migração em tempo real de operações DML ou DDL?

    Sim. Para dados entre bancos de dados relacionais, as operações DML suportadas são INSERT, UPDATE e DELETE, e as operações DDL suportadas são CREATE, DROP, ALTER, RENAME e TRUNCATE.

    Nota

    As operações DML ou DDL suportadas variam conforme o cenário. Em Migration scenarios, selecione o link correspondente ao seu cenário de negócios e visualize as operações DML ou DDL suportadas no documento de configuração desse link específico.

  • P: Uma instância somente leitura pode ser usada como instância source de uma tarefa de migração?

    Caso a tarefa de migração não exija migração incremental de dados, uma instância somente leitura pode ser usada como source. Se a tarefa exigir migração incremental de dados, aplicam-se as duas situações seguintes:

    • Instâncias somente leitura que registram logs de transações (como ApsaraDB RDS for MySQL 5.7 ou 8.0) podem ser usadas como instância source.

    • Instâncias somente leitura que não registram logs de transações (como ApsaraDB RDS for MySQL 5.6) não podem ser usadas como instância source.

  • P: O DTS suporta migração de dados para bancos de dados e tabelas fragmentados (sharded)?

    R: Sim. Por exemplo, é possível migrar bancos de dados e tabelas fragmentados do MySQL ou PolarDB for MySQL para AnalyticDB for MySQL para mesclar várias tabelas em uma só.

  • P: Uma tarefa de migração suporta a filtragem de algumas colunas ou dados?

    R: Sim. Utilize o recurso de mapeamento para filtrar colunas que não precisam ser migradas e use condições SQL WHERE para filtrar os dados a serem migrados. Para mais informações, consulte Synchronize or migrate specific columns e Filter the data to be migrated.

  • P: Por que a quantidade de dados na instância de destino é menor do que na instância source após o término da tarefa de migração?

    R: Se houver filtragem de dados durante a migração ou se existirem muitos fragmentos de tabela na instância source, a quantidade de dados na instância de destino poderá ser menor do que na instância source após a conclusão da migração.

  • P: Por que o valor concluído exibido pela tarefa de migração excede o total?

    R: O total exibido é um valor estimado. Após a conclusão da tarefa de migração, o total é ajustado para o valor exato.

  • P: Qual é a finalidade da tabela increment_trx adicionada ao banco de dados de destino durante a migração de dados?

    R: Durante a migração de dados, uma tabela increment_trx é adicionada ao banco de dados de destino. Trata-se de uma tabela de checkpoint que o DTS cria na instância de destino para a migração incremental. Ela serve para registrar o checkpoint da migração incremental e permitir a retomada da transferência após um reinício anormal da tarefa. Não exclua essa tabela durante a migração, pois isso causará falha no processo.

  • P: Uma tarefa de migração de dados suporta retomada de transferência durante a fase de migração completa de dados?

    R: Sim. Se você suspender a tarefa durante a fase de migração completa de dados e a reiniciar posteriormente, ela continuará de onde parou, sem precisar recomeçar do zero.

  • P: Como migro uma instância fora da Alibaba Cloud para a Alibaba Cloud?

    R: Para obter informações sobre como migrar uma instância externa para a Alibaba Cloud, consulte Migrar dados de uma cloud de terceiros para a Alibaba Cloud.

  • P: Como migro um banco de dados Oracle local para o PolarDB?

    R: Para obter informações sobre como migrar um banco de dados Oracle on-premises para o PolarDB, consulte Migrate self-managed Oracle to PolarDB for PostgreSQL (Compatible with Oracle).

  • P: Posso suspender uma tarefa de migração de dados que ainda não concluiu a fase de migração completa?

    R: Sim.

  • P: Como migro um subconjunto de dados do ApsaraDB RDS for MySQL para um banco de dados MySQL autogerenciado?

    R: Ao configurar a tarefa de migração, selecione os objetos a serem migrados em Source Objects ou filtre-os em Selected Objects conforme sua necessidade. O processo de migração entre bancos de dados MySQL é semelhante. Consulte Migrate self-managed MySQL to RDS for MySQL para realizar a operação.

  • P: Como realizo a migração entre instâncias RDS na mesma conta da Alibaba Cloud?

    R: O DTS suporta migração e sincronização entre instâncias RDS. Para ver o procedimento de configuração, consulte o documento relevante em Migration scenarios.

  • P: Um alerta de IOPS é acionado no banco de dados source logo após o início da tarefa de migração. Como manter as cargas de trabalho estáveis no banco de dados source?

    Quando uma tarefa do DTS está em execução e a carga na instância do banco de dados source está alta, utilize um dos três métodos abaixo para reduzir o impacto da tarefa no banco de dados source:

    1. Atualize as especificações da instância do banco de dados source.

    2. Suspenda a tarefa do DTS e reinicie-a após a diminuição da carga no banco de dados source.

    3. Reduza a taxa da tarefa do DTS. Para saber como ajustar a taxa, consulte Adjust the rate of a full migration.

  • P: Por que uma tarefa de migração de dados não consegue selecionar um banco de dados chamado test?

    R: A migração de dados do DTS não suporta a migração de bancos de dados do sistema. Selecione um banco de dados de negócios criado por você para realizar a migração.

  • P: Por que nenhuma latência é exibida para uma instância de migração cujo banco de dados source é o PolarDB-X 1.0?

    R: Uma instância com banco de dados source PolarDB-X 1.0 executa uma tarefa distribuída, e as métricas monitoradas pelo DTS existem apenas nas subtarefas. Por isso, não há informações de latência para instâncias com source PolarDB-X 1.0. Clique no ID da instância e visualize as informações de latência em Task Management > Subtask Details da instância.

  • P: Por que o DTS não consegue migrar um banco de dados MongoDB?

    R: O banco de dados a ser migrado pode ser local ou admin. O DTS não oferece suporte ao uso dos bancos de dados admin ou local do MongoDB como source ou destino.

  • P: Por que uma tarefa de migração muitos-para-um reporta o erro DTS-071001?

    R: Isso pode ocorrer quando uma operação de DDL online é executada no banco de dados source durante a execução da tarefa de migração muitos-para-um. Essa operação modifica o schema do banco de dados source (como tabelas), mas as alterações correspondentes não são aplicadas manualmente ao banco de dados de destino.

  • P: Não consegui adicionar uma lista de permissões ao configurar uma tarefa na versão anterior do console. Como resolvo esse problema?

    R: Configure a tarefa na nova versão do console.

  • P: Durante a migração de dados do DTS, uma operação DDL foi executada no banco de dados source e causou falha na tarefa. Como resolvo esse problema?

    R: Execute manualmente a mesma instrução DDL no destino com base na DDL executada no banco de dados source e reinicie a tarefa. Durante a migração de dados, não utilize ferramentas como pt-online-schema-change para realizar alterações de DDL online nos objetos de migração no banco de dados source, pois isso causa falha na migração. Se nenhum dado além dos provenientes do DTS estiver sendo gravado no banco de dados de destino, use o Data Management (DMS) para executar alterações de DDL online.

  • P: Durante a migração de dados do DTS, uma operação DDL foi executada no banco de dados de destino e causou falha na tarefa. Como resolvo esse problema?

    R: Se um banco de dados ou tabela no destino for excluído durante a migração incremental realizada pelo DTS, a tarefa apresentará anomalia. Reconfigure a tarefa e exclua o banco de dados ou tabela que causou a falha da lista de objetos de migração.

  • P: É possível recuperar uma tarefa de migração após ela ser liberada? A consistência dos dados pode ser garantida ao reconfigurar a tarefa?

    R: Não é possível recuperar uma tarefa de migração após sua liberação. Ao reconfigurar a tarefa, se você não selecionar Full Data Migration, os dados adicionados entre o momento da liberação da tarefa e o início da nova tarefa não serão migrados para o banco de dados de destino, e a consistência dos dados não poderá ser garantida. Caso seu negócio exija precisão rigorosa nos dados, exclua os dados no banco de dados de destino, reconfigure a tarefa de migração e selecione Schema Migration, Incremental Data Migration e Full Data Migration simultaneamente em Task Stages.

  • P: Uma tarefa de migração completa de dados do DTS não apresenta progresso há muito tempo. Como resolvo esse problema?

    R: Se as tabelas a serem migradas não possuírem chaves primárias, a migração completa de dados será muito lenta. Recomendamos adicionar chaves primárias às tabelas no banco de dados source antes de iniciar a migração.

  • P: Ao migrar dados de tabelas com o mesmo nome, o DTS suporta a transferência de dados da tabela source apenas quando os dados correspondentes não existem na tabela de destino?

    R: Sim. Ao configurar a tarefa, defina Processing Mode of Conflicting Tables como Ignore Errors and Proceed. Quando os schemas das tabelas forem consistentes, se o banco de dados de destino encontrar um registro com o mesmo valor de chave primária de um registro no banco de dados source durante a migração completa, o registro do source não será migrado para o destino.

  • P: Como configuro uma tarefa de migração entre contas?

    R: Primeiro, compreenda Scenarios for cross-account tasks. Em seguida, use a conta Alibaba Cloud à qual a instância do banco de dados pertence para Configure RAM authorization for cross-account DTS tasks e, por fim, Configure a cross-account DTS task.

  • P: Como uma tarefa de migração de dados se conecta a um banco de dados on-premises?

    R: Configure a tarefa de migração definindo Access Method do banco de dados on-premises como Public IP Address. Para um exemplo de procedimento, consulte Migrate self-managed MySQL to RDS for MySQL.

  • P: A migração de dados falhou com o erro DTS-31008. Como resolvo esse problema?

    R: Clique em View Cause ou encontre a solução em Overview of Common Errors com base na mensagem de erro.

  • P: A rede está inacessível ao usar o Express Connect para acessar um banco de dados autogerenciado. Como resolvo esse problema?

    R: Verifique se o circuito do Express Connect está configurado corretamente com a lista de permissões de endereços IP relacionada ao DTS. Para obter a lista de endereços IP a serem adicionados à lista de permissões, consulte Whitelist DTS IP ranges for your user-created database.

  • P: Para uma tarefa de migração com source SQL Server, o DTS suporta a migração de funções?

    R: Não. Se a granularidade dos objetos de migração selecionados for tabela, outros objetos (como views, triggers e stored procedures) também não serão migrados para o banco de dados de destino.

  • P: A migração completa de dados do DTS está lenta. Como resolvo esse problema?

    R: O volume de dados a ser migrado pode ser grande. Aguarde a conclusão do processo. Acesse a página de detalhes da tarefa e visualize o progresso da migração no módulo Full Data Migration em Task Management.

  • P: A tarefa reportou um erro interno. Como resolvo esse problema?

    R: Entre no grupo de comunicação com clientes do DTS no DingTalk (ID do grupo: 116655009709) pelo DingTalk (baixe o cliente) para obter assistência.

  • P: A migração de schema retornou um erro. Como resolvo esse problema?

    R: Clique no ID da instância para acessar a página de detalhes da tarefa, visualize a mensagem de erro específica do módulo de migração de schema em Task Management e solucione o problema com base na mensagem de erro. Para soluções de erros comuns, consulte Overview of Common Errors.

  • P: A migração de schema e a migração completa de dados são cobradas?

    R: Não. Para mais informações sobre faturamento, consulte Billable items.

  • P: Em uma tarefa de migração de dados entre bancos de dados Redis, os dados zset no destino serão sobrescritos?

    R: Sim. O zset no destino é sobrescrito. Se uma chave já existente no destino for idêntica a uma no source, o DTS primeiro exclui o zset da chave correspondente no destino e depois usa zadd para adicionar cada objeto da coleção zset do source ao destino.

  • P: Qual é o impacto da migração completa de dados no banco de dados source?

    R: Na migração completa de dados do DTS, os dados são primeiro fragmentados (sharded) e, em seguida, lidos e gravados dentro de cada shard. Durante o sharding, o IOPS do banco de dados source aumenta. Durante a leitura dos dados em cada shard, ocorre algum impacto no IOPS, CachePool e largura de banda de saída do banco de dados source. Com base nas práticas do DTS, esses impactos são insignificantes.

  • P: Quando o PolarDB-X 1.0 é usado como source, a instância source PolarDB-X 1.0 da tarefa de migração suporta dimensionamento de nós para dentro ou para fora?

    R: Não. Se ocorrer dimensionamento de nós na instância source PolarDB-X 1.0, será necessário reconfigurar a tarefa.

  • P: O DTS garante a unicidade dos dados ao migrar para o Kafka?

    R: Não. Como os dados gravados no Kafka são anexados, podem ocorrer duplicações quando a tarefa do DTS é reiniciada ou quando logs do source são extraídos repetidamente. O DTS garante a idempotência dos dados, o que significa que eles são organizados em ordem e o valor mais recente dos dados duplicados é posicionado no final.

  • P: Se eu configurar primeiro uma tarefa de migração completa de dados e depois uma tarefa de migração incremental de dados, ocorrerá inconsistência de dados?

    R: Pode ocorrer inconsistência de dados. Quando apenas a migração incremental de dados é configurada para uma tarefa, a migração só começa após o início da tarefa incremental. Antes disso, os dados incrementais gerados na instância source não são sincronizados com a instância de destino. Para realizar uma migração sem tempo de inatividade, recomendamos selecionar migração de schema, migração completa de dados e migração incremental de dados como tipos de migração ao configurar a tarefa.

  • P: Preciso selecionar a migração de schema ao configurar uma tarefa de migração incremental?

    R: A migração de schema transfere as definições dos objetos de migração para a instância de destino antes do início da migração de dados. Por exemplo, ela migra a definição da Tabela A para a instância de destino. Se você precisar realizar uma migração incremental, recomendamos selecionar a migração de schema, a migração completa de dados e a migração incremental de dados em conjunto para garantir a consistência dos dados.

  • P: Por que a instância RDS utiliza mais espaço de armazenamento do que o banco de dados source quando um banco de dados auto-gerenciado é migrado para o RDS?

    R: O DTS executa uma migração lógica. Ele encapsula os dados a serem migrados em instruções SQL e os transfere para a instância RDS de destino. Durante esse processo, dados de binlog são gerados na instância RDS de destino. Portanto, durante a migração, o espaço de armazenamento utilizado pela instância RDS pode ser maior que o do banco de dados source.

  • P: O DTS suporta migração para bancos de dados MongoDB em uma VPC?

    R: Sim. O DTS permite utilizar o ApsaraDB for MongoDB em uma VPC como banco de dados source de uma migração.

  • P: O que acontece com os dados migrados se o banco de dados source for alterado durante a migração de dados?

    R: Se a tarefa de migração estiver configurada com migração de schema, migração completa de dados e migração incremental de dados, o DTS migrará todas as alterações de dados ocorridas no banco de dados source durante o processo para o banco de dados de destino.

  • P: Liberar uma tarefa de migração concluída afeta o uso dos bancos de dados envolvidos na migração?

    R: Não. Após a conclusão da tarefa de migração (quando o Status for Completed), você poderá liberar a tarefa de migração com segurança.

  • P: O DTS suporta migração incremental para MongoDB?

    R: Sim. Para exemplos de configuração relacionados, consulte Migration scenarios.

  • P: Qual é a diferença entre usar uma instância RDS como source de uma tarefa de migração e usar uma instância de banco de dados auto-gerenciada acessada pela Internet?

    R: Ao selecionar uma instância RDS durante a configuração da tarefa de migração, caso a instância sofra alterações, como modificações de DNS ou troca de tipo de rede, a tarefa de migração do DTS se adaptará automaticamente, garantindo eficazmente a confiabilidade do link.

  • P: O DTS suporta a migração de um banco de dados auto-gerenciado em uma instância ECS em uma VPC para uma instância RDS?

    Sim.

    • Se a instância ECS source e a instância RDS de destino estiverem na mesma região, o DTS acessará diretamente o banco de dados auto-gerenciado na instância ECS dentro da VPC.

    • Caso a instância ECS source e a instância RDS de destino estejam em regiões diferentes, associe um elastic IP address (EIP) à instância ECS. Ao configurar a tarefa de migração, selecione a instância ECS como instância source. O DTS usará automaticamente o EIP da instância ECS para acessar o banco de dados nela hospedado.

  • P: O DTS bloqueia tabelas durante a migração? Há algum impacto no banco de dados source?

    R: O DTS não bloqueia tabelas no banco de dados source durante a migração completa ou incremental de dados. Durante esses processos, as tabelas de dados no source continuam disponíveis para leitura e escrita normalmente.

  • P: Quando o DTS migra dados de uma instância RDS, ele extrai os dados da instância primária ou secundária?

    R: Ao executar a migração de dados, o DTS extrai os dados da instância primária da instância RDS.

  • P: O DTS suporta migração automática agendada?

    R: Atualmente, o DTS não oferece suporte ao agendamento do início de tarefas de migração de dados.

  • P: O DTS suporta migração de dados para instâncias RDS no modo VPC?

    R: Sim. Ao configurar a tarefa de migração, especifique diretamente o ID da instância RDS.

  • P: Quando o DTS realiza migração ou sincronização na mesma conta ou entre contas diferentes, ele usa a rede interna ou a Internet para instâncias ECS e RDS? São cobradas taxas de tráfego?

    Quando o DTS executa uma tarefa de sincronização ou migração, o tipo de rede utilizada (rede interna ou Internet) não depende de a tarefa ser entre contas diferentes. A cobrança de taxas de tráfego depende do tipo de tarefa.

    • Rede utilizada

      • Tarefa de migração: Para migração de dados dentro da mesma região, o DTS usa a rede interna para se conectar às instâncias ECS e RDS. Para migração entre regiões, o DTS usa a Internet para se conectar à instância source (ECS ou RDS) e a rede interna para se conectar à instância RDS de destino.

      • Tarefa de sincronização: Utiliza a rede interna.

    • Taxas de tráfego

      • Tarefa de migração: São cobradas taxas de tráfego de saída pela Internet. Não há cobrança de tráfego para instâncias DTS de outros tipos. As taxas de tráfego de saída pela Internet referem-se ao tráfego gerado quando o Access Method da instância de banco de dados de destino é Public IP Address.

      • Tarefa de sincronização: Nenhuma taxa de tráfego é cobrada.

  • P: Ao usar o DTS para migração de dados, os dados do banco de dados source serão excluídos após a migração?

    R: Não. Ao realizar a migração de dados, o DTS copia os dados do banco de dados source para o banco de dados de destino, sem afetar os dados no banco de dados source.

  • P: Quando o DTS realiza migração de dados entre instâncias RDS, posso especificar o nome do banco de dados de destino?

    R: Sim. Durante a migração de dados entre instâncias RDS, utilize o recurso de mapeamento de nomes de banco de dados fornecido pelo DTS para especificar o nome do banco de dados de destino. Para mais informações, consulte Synchronize or migrate data between databases of different names.

  • P: O source de uma tarefa de migração do DTS não consegue se conectar a uma instância ECS. Como resolver esse problema?

    R: A instância ECS pode não ter um endereço IP público habilitado. Associe um elastic IP address (EIP) à instância ECS e tente novamente. Para obter informações sobre como associar um EIP, consulte EIP.

  • P: Por que uma tarefa de migração entre bancos de dados Redis não exibe a migração completa de dados?

    R: A migração entre bancos de dados Redis suporta tanto a migração completa quanto a incremental, que são combinadas e exibidas como Incremental Data Migration.

  • P: É possível ignorar a migração completa de dados?

    R: Sim. Após ignorar a migração completa de dados, a migração incremental continua. No entanto, podem ocorrer erros. Recomendamos não ignorar a migração completa de dados.

  • P: A edição cluster do Redis suporta acesso ao DTS pela Internet?

    R: Não. Atualmente, apenas a edição standalone do Redis suporta acesso às instâncias de migração do DTS pela Internet.

  • P: Quais cuidados devo tomar ao migrar dados do MySQL 8.0 para o MySQL 5.6?

    R: Crie os bancos de dados no MySQL 5.6 antes de iniciar a migração. Recomendamos manter as versões dos bancos de dados source e de destino iguais, ou migrar de uma versão inferior para uma superior para garantir compatibilidade. Migrar de uma versão superior para uma inferior pode causar problemas de compatibilidade no banco de dados.

  • P: Posso migrar as contas do banco de dados source para o banco de dados de destino?

    R: Atualmente, apenas tarefas de migração entre instâncias do ApsaraDB RDS for MySQL suportam a migração de contas. Outras tarefas de migração não oferecem esse suporte.

  • P: Como configurar parâmetros quando o ApsaraMQ for Kafka é o destino?

    R: Configure os parâmetros de acordo com seu cenário real. Para obter informações sobre como configurar alguns parâmetros especiais, consulte Configure Kafka instance parameters.

  • P: Como realizar uma migração completa de dados agendada?

    R: Utilize a configuração de política de agendamento do recurso Data Integration para migrar periodicamente o schema e os dados existentes do banco de dados source para o banco de dados de destino. Para mais informações, consulte Configure a data integration task between RDS for MySQL instances.

  • P: O DTS suporta a migração de um SQL Server auto-gerenciado em uma instância ECS para um SQL Server auto-gerenciado em um data center on-premises?

    R: Sim. O SQL Server auto-gerenciado no data center on-premises deve estar conectado à Alibaba Cloud. Para mais informações, consulte Preparation overview.

  • P: O DTS suporta a migração de um banco de dados PostgreSQL de outra cloud?

    Se o banco de dados PostgreSQL em outra cloud estiver configurado para permitir que o DTS o acesse pela Internet, você poderá usar o DTS para migrar os dados.

    Nota

    Se a versão do PostgreSQL for anterior à 10.0, a migração incremental não é suportada.

  • P: O DTS suporta a migração de dados do MySQL para o Mycat?

    R: Sim. Conecte o Mycat à Alibaba Cloud como um banco de dados MySQL auto-gerenciado e, em seguida, use o DTS para migrar os dados.

  • P: Durante a migração de dados, o DTS suporta migração incremental de operações DDL?

    R: Esse recurso é suportado em alguns cenários de migração. Para mais informações, consulte Usage notes and limits for data migration.

  • P: Triggers estão ausentes no banco de dados de destino após a migração

    • Causa: A conta do banco de dados source utilizada pela tarefa do DTS não possui o privilégio EVENT ou não tem o privilégio SELECT na tabela information_schema.TRIGGERS. Consequentemente, o DTS não consegue ler os metadados dos triggers e ignora a sincronização deles.

    • Solução:

      • Método 1: Após confirmar que a conta do banco de dados de origem recebeu os privilégios necessários (privilégio EVENT e privilégio SELECT na tabela information_schema.TRIGGERS), execute novamente a migração de esquema.

      • Método 2: Crie manualmente os triggers ausentes no banco de dados de destino.

    Nota

    O DTS geralmente não recomenda configurar a migração de triggers, pois a execução de triggers no destino pode causar inconsistência de dados. Caso não tenha requisitos específicos, recomendamos excluir objetos do tipo trigger na configuração da tarefa do DTS.

  • P: Descrição da conversão automática do atributo DEFINER durante a migração de stored procedures

    R: Ao migrar stored procedures, o DTS converte automaticamente o atributo DEFINER da stored procedure de origem para a conta do banco de dados de destino e altera o modo SQL SECURITY para INVOKER. Esse comportamento padronizado garante que as stored procedures migradas sejam executadas corretamente dentro do escopo de permissões da conta do banco de dados de destino.

    • Se essa conversão gerar um erro de verificação de esquema, mas a funcionalidade da stored procedure não for afetada, escolha ignorar o erro.

    • Caso seu negócio precise restaurar o atributo DEFINER original no destino, exclua manualmente a stored procedure no destino e recrie-a utilizando uma conta com os privilégios necessários.

  • P: Qual é o impacto de modificar dados no banco de dados de destino enquanto uma tarefa de sincronização ou migração de dados está em execução?

    • A modificação de dados no banco de dados de destino pode causar falha na tarefa do DTS. Durante a migração ou sincronização de dados, realizar operações nos objetos que estão sendo migrados ou sincronizados no banco de dados de destino pode gerar problemas como conflitos de chave primária ou ausência de registros de atualização, resultando em falha na tarefa do DTS. No entanto, é possível executar operações que não interrompam a tarefa. Por exemplo, se você criar uma tabela na instância de destino e gravar dados nela, a tarefa do DTS não será afetada, pois essa tabela não faz parte dos objetos de migração ou sincronização.

    • Como o DTS lê informações do banco de dados da instância de origem e migra ou sincroniza seus dados completos, dados de esquema e dados incrementais para a instância de destino, as modificações feitas no banco de dados de destino durante a tarefa podem ser sobrescritas pelos dados migrados ou sincronizados a partir do banco de dados de origem.

    P: O DTS suporta migração de dados ou sincronização de dados entre contas diferentes?

    R: Sim. Para obter informações sobre como configurar esse recurso, consulte Configure a cross-account DTS task.

    P: É possível gravar dados no banco de dados de origem e no banco de dados de destino simultaneamente enquanto uma tarefa de sincronização ou migração de dados está em execução?

    R: Sim. Contudo, enquanto a instância do DTS estiver em execução, se fontes de dados externas ao DTS gravarem informações no banco de dados de destino, poderão ocorrer exceções nos dados do banco de destino ou na própria instância do DTS.

    P: O DTS suporta sincronização ou migração de dados por amostragem baseada em intervalo de tempo?

    R: Não.

    P: Ao sincronizar ou migrar dados, preciso criar tabelas manualmente no banco de dados de destino?

    R: Para DTS instances that support schema tasks (sincronização de esquema ou migração de esquema), se você tiver configurado uma tarefa de esquema (Synchronization Types com Schema Synchronization selecionado, ou Migration Types com Schema Migration selecionado), não é necessário criar tabelas manualmente no banco de dados de destino.

    P: Durante a sincronização ou migração de dados, o banco de dados de origem e o banco de dados de destino precisam estar conectados pela rede?

    R: Não.

    P: Como utilizar a API para configurar o recurso de ETL em uma tarefa de sincronização ou migração?

    R: Configure esse recurso no parâmetro Reserve da API utilizando parâmetros comuns como etlOperatorCtl e etlOperatorSetting. Para mais informações, consulte ConfigureDtsJob e Reserve parameter reference.

    P: Os dados do banco de origem são mantidos após o término da sincronização ou migração do DTS?

    R: Sim. O DTS não exclui dados do banco de dados de origem. Se não precisar manter esses dados, exclua-os manualmente.

    P: Posso ajustar a taxa de transferência após a instância de sincronização ou migração já estar em execução?

    R: Sim. Para mais informações, consulte Enable throttling for data migration.

    P: Um erro de sincronização incremental indica que o pacote é muito grande ou que o valor de max_allowed_packet no destino é insuficiente. Como resolver?

    • Causa:

      A origem contém uma linha com grande volume de dados que excede o limite do parâmetro max_allowed_packet no destino durante a sincronização incremental, provocando o erro de sincronização.

    • Solução:

      1. Faça login no banco de dados de origem e consulte o valor atual do parâmetro max_allowed_packet:

        SHOW VARIABLES LIKE 'max_allowed_packet';

        Anote o valor (por exemplo, 1073741824, que equivale a 1 GB).

      2. Acesse o console do ApsaraDB RDS (ou o console do PolarDB, caso o destino seja PolarDB for MySQL). Na página Parameters da instância do banco de dados de destino, defina o parâmetro max_allowed_packet com um valor igual ou superior ao valor da origem.

      3. Após concluir a modificação do parâmetro, reinicie a tarefa de sincronização no console do DTS e verifique se a sincronização foi normalizada.

    P: A tarefa de sincronização está interrompida há várias horas e suspeito que exista um bloqueio MDL no destino. Como resolver?

    • Causa:

      Um bloqueio de metadados (bloqueio MDL) no destino, provocado por uma operação DDL de longa duração (como adicionar uma coluna a uma tabela grande ou reconstruir um índice), está impedindo a gravação de dados incrementais pelo DTS, o que causa a interrupção prolongada do link de sincronização.

    • Solução:

      1. Acesse o console do ApsaraDB RDS, navegue até a instância do banco de dados de destino e execute SHOW FULL PROCESSLIST para identificar a sessão anômala que detém o bloqueio MDL. Em seguida, encerre essa sessão.

      2. Acesse o console do DTS e modifique os objetos de sincronização para remover do escopo as tabelas afetadas pelo bloqueio MDL.

      3. Exclua a tabela no banco de dados de destino (antes dessa operação, certifique-se de que os dados foram submetidos a backup ou podem ser apagados).

      4. Depois que a tarefa de sincronização do DTS voltar ao normal e a latência de sincronização chegar a zero, modifique novamente os objetos de sincronização para readicionar a tabela ao escopo e concluir a remigração.

    P: Um erro de sincronização incremental indica que uma tabela temporária está ausente no banco de dados de destino ou que ocorreu um conflito de SELECT INTO. Como resolver?

    • Causa:

      Esse problema não é causado pela ausência de uma tabela temporária no banco de dados de destino. Na verdade, após a ativação do Change Data Capture (CDC) no banco de dados de origem, os triggers criados pelo DTS interceptam a criação implícita de tabelas realizada pelo comando SELECT INTO, gerando conflitos durante a sincronização de dados.

    • Solução:

      1. Verifique se o arquivo de log de transações na origem existe e está íntegro.

      2. Desative o recurso de CDC no banco de dados de origem.

      3. Acesse o console do DTS, reconfigure a tarefa de sincronização, selecione Parse source database logs como método de sincronização incremental e reinicie a tarefa.

    P: Ao usar o DTS para sincronização ou migração de dados, os dados existentes no destino são sobrescritos?

    R: Tomando a sincronização de dados como exemplo, o comportamento padrão e os parâmetros relacionados do DTS são os seguintes:

    Comportamento padrão do DTS: Se ocorrer um conflito de chave primária ou chave única durante a execução da tarefa de sincronização:

    • Quando os esquemas das tabelas forem idênticos e um registro no banco de dados de destino possuir o mesmo valor de chave primária ou chave única de um registro na origem:

      • Durante a sincronização completa, o DTS mantém o registro no cluster de destino. O registro correspondente do banco de dados de origem não é sincronizado.

      • Na sincronização incremental, o registro do banco de dados de origem sobrescreve o registro existente no banco de dados de destino.

    • Se os esquemas das tabelas forem diferentes, a sincronização inicial de dados poderá falhar. Isso pode resultar na sincronização de apenas parte dos dados das colunas ou em uma falha total da sincronização. Proceda com cautela.

    Parâmetros relacionados: Ao configurar uma tarefa, utilize o parâmetro Processing Mode of Conflicting Tables para definir como os dados relacionados serão processados.

    • Precheck and Report Errors: Verifica se existe uma tabela com o mesmo nome no banco de dados de destino. A pré-verificação é aprovada caso não haja tabelas duplicadas. Se houver uma tabela com o mesmo nome, a pré-verificação falha e a tarefa de sincronização de dados não inicia.

      Nota

      Caso não seja possível excluir ou renomear a tabela duplicada no banco de dados de destino, mapeie-a para um nome diferente. Para mais informações, consulte Map table and column names.

    • Ignore Errors and Proceed: Ignora a verificação de nomes de tabela duplicados no banco de dados de destino.

      Aviso

      Selecionar Ignore Errors and Proceed pode causar inconsistência de dados e colocar seus negócios em risco. Por exemplo:

      • Se os esquemas das tabelas forem idênticos e um registro no banco de dados de destino possuir o mesmo valor de chave primária ou chave única que um registro no banco de dados source:

        • Durante a sincronização completa, o DTS mantém o registro no cluster de destino. O registro correspondente do banco de dados source não é sincronizado.

        • Na sincronização incremental, o registro do banco de dados source sobrescreve o registro no banco de dados de destino.

      • Quando os esquemas das tabelas diferem, a sincronização inicial de dados pode falhar. Isso pode resultar na sincronização apenas parcial dos dados das colunas ou em uma falha total da sincronização. Prossiga com cautela.

    Recomendação: Para garantir a consistência dos dados, recomendamos excluir a tabela de destino antes de configurar a tarefa do DTS, desde que seus processos de negócio permitam.