Todos os produtos
Search
Central de documentação

Data Transmission Service:Sincronização bidirecional entre PolarDB for PostgreSQL e RDS for PostgreSQL

Última atualização: Oct 16, 2026

O Data Transmission Service (DTS) permite a sincronização bidirecional de dados em tempo real entre clusters PolarDB for PostgreSQL e bancos de dados PostgreSQL, como instâncias do ApsaraDB RDS for PostgreSQL e bancos de dados PostgreSQL autogerenciados. Este tópico demonstra como configurar a sincronização bidirecional de dados para uma instância do ApsaraDB RDS for PostgreSQL. O procedimento é semelhante para outras fontes de dados.

Pré-requisitos

Observações de uso

Nota
  • Durante a sincronização de schema, o DTS sincroniza chaves estrangeiras do banco de dados de origem para o banco de dados de destino.

  • Durante a sincronização completa e a sincronização incremental de dados, o DTS desativa temporariamente a verificação de restrições e as operações em cascata em chaves estrangeiras no nível da sessão. Caso ocorram atualizações ou exclusões em cascata no banco de dados de origem durante a sincronização, podem surgir inconsistências de dados.

Tipo

Descrição

Limites do banco de dados de origem

  • Em um cluster PolarDB for PostgreSQL, as tabelas a serem sincronizadas devem ter uma chave primária ou um índice único não nulo.

  • Se o banco de dados de origem tiver transações de longa duração e a instância possuir uma tarefa de sincronização incremental, o write-ahead log (WAL) gerado antes da confirmação dessas transações pode se acumular. Isso pode causar insuficiência de espaço em disco no banco de dados de origem.

  • Para garantir a execução adequada da tarefa de sincronização e evitar que a replicação lógica seja interrompida por um switchover primário/secundário, o cluster PolarDB for PostgreSQL deve oferecer suporte ao Logical Replication Slot Failover e mantê-lo ativado.

    Nota

    Se o cluster PolarDB for PostgreSQL de origem não oferecer suporte ao Logical Replication Slot Failover (por exemplo, se o Database Engine do cluster for o PostgreSQL 14), um switchover de alta disponibilidade (HA) no banco de dados de origem pode fazer com que a instância de sincronização falhe e se torne irrecuperável.

  • Devido às limitações inerentes das assinaturas lógicas no banco de dados de origem, se um único registro de dados a ser sincronizado exceder 256 MB após uma alteração incremental, a instância de sincronização falhará e precisará ser reconfigurada.

  • Não execute operações DDL que alterem schemas de banco de dados ou de tabela durante a sincronização de schema ou a sincronização completa. Caso contrário, a tarefa de sincronização falhará.

    Nota

    Durante a sincronização completa, o DTS consulta o banco de dados de origem. Isso cria bloqueios de metadados que podem impedir operações DDL no banco de dados de origem.

  • Tabelas com colunas geradas no PostgreSQL 18 não oferecem suporte à sincronização. Caso configure a sincronização para essas tabelas, as operações DML nelas serão bloqueadas.

Outros limites

  • Uma única tarefa de sincronização de dados pode sincronizar apenas um banco de dados. Para sincronizar vários bancos de dados, configure uma tarefa separada para cada um.

  • O DTS não oferece suporte à sincronização de tabelas do plug-in TimescaleDB, tabelas com herança entre schemas ou tabelas com índices únicos baseados em expressões.

  • Schemas criados pela instalação de plug-ins não podem ser sincronizados. Não é possível obter informações sobre esses schemas no console ao configurar a tarefa.

  • Nos três cenários a seguir, execute o comando ALTER TABLE schema.table REPLICA IDENTITY FULL; nas tabelas de origem antes de gravar dados nelas, a fim de garantir a consistência dos dados. Não execute operações que bloqueiem a tabela enquanto este comando estiver em execução para evitar deadlocks. Caso ignore esta verificação durante a pré-verificação, o DTS executará automaticamente este comando durante a inicialização da instância.

    • Quando a instância for executada pela primeira vez.

    • Ao selecionar objetos no nível do schema e uma nova tabela for criada no schema ou uma tabela for reconstruída usando o comando RENAME.

    • Ao usar o recurso para modificar objetos de sincronização.

    Nota
    • Substitua schema e table no comando pelos nomes do schema e da tabela a serem sincronizados.

    • Execute esta operação fora dos horários de pico.

  • Se uma tabela a ser sincronizada contiver uma coluna do tipo SERIAL, o banco de dados de origem criará automaticamente uma sequence para essa coluna. Portanto, ao configurar Source Objects, caso selecione Schema Synchronization para Synchronization Types, recomendamos selecionar também Sequence ou sincronizar todo o schema. Caso contrário, a instância de sincronização poderá falhar.

  • Durante a sincronização inicial completa de dados, o DTS consome recursos de leitura e gravação nos bancos de dados de origem e de destino, o que pode aumentar a carga do banco de dados. Portanto, avalie o desempenho dos bancos de dados de origem e de destino antes de sincronizar os dados e execute a sincronização fora dos horários de pico (por exemplo, quando a carga da CPU de ambos os bancos de dados estiver abaixo de 30%).

  • Como a sincronização completa de dados executa operações INSERT simultâneas, causa fragmentação de tabelas no banco de dados de destino. Consequentemente, o espaço de tabela no banco de dados de destino será maior do que na instância de origem após a conclusão da sincronização completa.

  • Durante a sincronização do DTS, não grave dados no banco de dados de destino a partir de fontes que não sejam o DTS. Caso contrário, podem ocorrer inconsistências de dados entre os bancos de dados de origem e de destino.

  • Uma tarefa de sincronização bidirecional inclui tarefas de sincronização direta e reversa. Ao configurar ou redefinir a tarefa, caso o objeto de destino de uma tarefa corresponda ao objeto de sincronização da outra tarefa:

    • Permita que apenas uma tarefa sincronize dados completos e incrementais. A outra tarefa oferecerá suporte apenas à sincronização incremental.

    • Os dados da origem da tarefa atual serão sincronizados apenas com o destino da tarefa atual. Eles não servirão como dados de origem para a outra tarefa.

  • Durante a sincronização de dados, o DTS cria um slot de replicação lógica com o prefixo dts_sync_ no banco de dados de origem para ler logs incrementais. Se a sincronização de dados falhar ou a instância de sincronização for liberada, o DTS tentará limpar esse slot de replicação automaticamente.

    Nota
    • Caso altere a senha da conta do banco de dados de origem ou exclua a lista de permissões de IP para o DTS durante a sincronização de dados, o slot de replicação não será limpo automaticamente. Limpe manualmente o slot de replicação no banco de dados de origem para evitar que ele consuma espaço em disco e torne o banco de dados de origem indisponível.

    • Se ocorrer um failover no banco de dados de origem, acesse o banco de dados em standby para limpá-lo manualmente.

    Execute a instrução SQL SELECT * FROM pg_replication_slots; para visualizar todos os slots de replicação no banco de dados de origem. Nos resultados, o slot de replicação do DTS é o registro em que o valor de slot_name começa com dts_sync_ e o valor de active é true.

  • O DTS valida o conteúdo dos dados, mas não oferece suporte à validação de metadados, como sequences. Valide os metadados por conta própria.

  • O DTS cria as seguintes tabelas temporárias no banco de dados de origem para obter instruções DDL para dados incrementais, o schema das tabelas incrementais e informações de heartbeat. Não exclua essas tabelas temporárias durante a sincronização. Caso contrário, a tarefa do DTS poderá falhar. As tabelas temporárias são excluídas automaticamente após a liberação da instância do DTS.

    public.dts_pg_class, public.dts_pg_attribute, public.dts_pg_type, public.dts_pg_enum, public.dts_postgres_heartbeat, public.dts_ddl_command, public.dts_args_session e public.aliyun_dts_instance.

  • Após a migração do seu negócio para o banco de dados de destino, as sequences não continuarão automaticamente a partir do valor máximo das sequences correspondentes no banco de dados de origem. Antes da migração, consulte o valor máximo da sequence correspondente no banco de dados de origem e use-o como valor inicial para a sequence correspondente no banco de dados de destino. Execute o seguinte comando para consultar os valores das sequences no banco de dados de origem:

    do language plpgsql $$
    declare
      nsp name;
      rel name;
      val int8;
    begin
      for nsp,rel in select nspname,relname from pg_class t2 , pg_namespace t3 where t2.relnamespace=t3.oid and t2.relkind='S'
      loop
        execute format($_$select last_value from %I.%I$_$, nsp, rel) into val;
        raise notice '%',
        format($_$select setval('%I.%I'::regclass, %s);$_$, nsp, rel, val+1);
      end loop;
    end;
    $$;
    Nota

    As instruções SQL geradas pelo comando anterior incluem todas as sequences do banco de dados de origem. Execute-as no banco de dados de destino de acordo com as suas necessidades.

  • Para tarefas de sincronização completa ou incremental de dados, caso as tabelas de origem a serem sincronizadas contiverem chaves estrangeiras, triggers ou triggers de eventos, o DTS definirá temporariamente o parâmetro session_replication_role como replica no nível da sessão. Caso a conta do banco de dados de destino não tenha as permissões necessárias, defina manualmente o parâmetro session_replication_role como replica no banco de dados de destino. Durante esse período, caso ocorram operações de atualização ou exclusão em cascata no banco de dados de origem enquanto o session_replication_role estiver definido como replica, poderá haver inconsistência de dados. Após a liberação da tarefa do DTS, altere o parâmetro session_replication_role de volta para origin.

  • Caso uma tarefa falhe, a equipe de suporte do DTS tentará restaurá-la em até oito horas. Durante a restauração, a equipe pode reiniciar a tarefa ou ajustar seus parâmetros.

    Nota

    Somente os parâmetros da tarefa do DTS são modificados, e não os do banco de dados. Os parâmetros que podem ser ajustados incluem aqueles listados em Modifique os parâmetros da instância.

  • Ao sincronizar tabelas particionadas, inclua tanto a tabela pai quanto suas partições filhas como objetos de sincronização. Caso contrário, os dados na tabela particionada poderão ficar inconsistentes.

    Importante
    • A tabela pai de uma tabela particionada do PostgreSQL não armazena dados diretamente. Todos os dados são armazenados nas partições filhas. Uma tarefa de sincronização de dados deve incluir a tabela pai e todas as suas partições filhas. Caso contrário, os dados das partições filhas poderão ser perdidos, causando inconsistência de dados entre a origem e o destino.

    • Não há suporte para a sincronização de tabelas particionadas e tabelas de herança (tabelas pai-filho) em bancos de dados diferentes. Certifique-se de que as tabelas particionadas e todas as suas partições, bem como as tabelas pai e todas as suas tabelas filhas, estejam no mesmo banco de dados.

Faturamento

Tipo de sincronização

Preço

Sincronização de schema e sincronização completa de dados

Gratuita.

Sincronização incremental de dados

Cobrada. Para mais informações, consulte Billing overview.

Detecção de conflitos suportada

Para garantir a consistência dos dados, certifique-se de que os registros de dados com a mesma chave primária, chave de negócio ou chave única sejam atualizados em apenas uma das instâncias de banco de dados na sincronização bidirecional. Caso os registros de dados sejam atualizados em ambas as instâncias de banco de dados, o DTS aplicará a política de resolução de conflitos configurada na tarefa.

O DTS verifica e corrige conflitos para maximizar a estabilidade das tarefas de sincronização bidirecional. O DTS pode detectar os seguintes tipos de conflitos:

  • Conflitos de unicidade causados por operações INSERT

    Na sincronização bidirecional, caso registros com a mesma chave primária sejam inseridos em ambas as instâncias de banco de dados simultaneamente (ou em rápida sucessão), um conflito de restrição de unicidade será acionado. Quando a instrução INSERT for sincronizada com a instância par, ela falhará porque já existe um registro com o mesmo valor de chave primária.

  • Registros não correspondentes em operações UPDATE

    • Caso os registros a serem atualizados não existam na instância de destino, o DTS converterá a operação UPDATE em uma operação INSERT. No entanto, podem ocorrer conflitos de unicidade.

    • O registro a ser atualizado por uma operação UPDATE causa um conflito de chave primária ou chave única.

  • Registros inexistentes a serem excluídos

    Os registros a serem excluídos não existem na instância de destino. Nesse caso, o DTS ignora a operação DELETE, independentemente da política de resolução de conflitos especificada.

Importante
  • Devido a diferenças de tempo e latência, o DTS não pode garantir 100% de prevenção de conflitos. Para garantir a consistência, atualize registros com a mesma chave primária ou única em apenas uma instância de banco de dados por vez.

  • O DTS oferece várias estratégias de resolução para esses conflitos, disponíveis durante a configuração da sincronização bidirecional de dados.

Objetos suportados

Schemas e tabelas

Nota
  • Isso inclui chaves primárias, chaves únicas, chaves estrangeiras, tipos de dados integrados e restrições padrão.

  • Quando este tipo de banco de dados é usado como origem, os recursos compatíveis podem variar dependendo do tipo de banco de dados de destino. Consulte o console para obter detalhes específicos.

Operações SQL suportadas

Importante
  • As instruções DDL são sincronizadas apenas em tarefas diretas (da origem para o destino). As tarefas reversas filtram automaticamente as instruções DDL.

  • Ao executar DDL para modificar o schema de uma tabela durante a sincronização bidirecional, certifique-se de que as gravações DML em ambos os bancos de dados sejam consistentes com o novo schema. Por exemplo, caso exclua uma coluna da origem, o destino ainda poderá gravar dados com base no schema antigo que inclui a coluna excluída, causando falhas.

Tipo de operação

Instrução SQL

DML

INSERT, UPDATE, DELETE

DDL

  • Há suporte para sincronização de DDL apenas para tarefas de sincronização de dados criadas após 1º de outubro de 2020.

    Importante
    • Para tarefas de sincronização de dados criadas antes de 12 de maio de 2023, crie triggers e funções no banco de dados de origem para capturar informações de DDL antes de configurar a tarefa. Para mais informações, consulte Implement PostgreSQL DDL incremental migration through triggers and functions.

    • A sincronização incremental de dados não oferece suporte ao tipo de dados BIT.

  • Se o banco de dados de origem usar uma conta privilegiada, a tarefa de sincronização de dados oferecerá suporte às seguintes operações DDL:

    • CREATE TABLE, DROP TABLE

    • ALTER TABLE (incluindo RENAME TABLE, ADD COLUMN, ADD COLUMN DEFAULT, ALTER COLUMN TYPE, DROP COLUMN, ADD CONSTRAINT, ADD CONSTRAINT CHECK e ALTER COLUMN DROP DEFAULT)

    • TRUNCATE TABLE (O cluster de origem do PolarDB for PostgreSQL deve usar uma engine de banco de dados PostgreSQL 11 ou posterior.)

    • CREATE INDEX ON TABLE

Importante
  • Cláusulas adicionais em instruções DDL, como CASCADE ou RESTRICT, não são sincronizadas.

  • Instruções DDL não são sincronizadas a partir de uma sessão na qual o comando SET session_replication_role = replica foi executado.

  • Instruções DDL executadas por meio da chamada de uma FUNCTION não são sincronizadas.

  • Caso um único commit no banco de dados de origem contenha instruções DML e DDL, as instruções DDL não serão sincronizadas.

  • Caso um commit inclua uma instrução DDL direcionada a um objeto não configurado para sincronização, a instrução não será sincronizada.

Permissões da conta do banco de dados

Tipo de banco de dados

Permissões necessárias

Referências

PolarDB for PostgreSQL

Uma conta privilegiada que seja proprietária do banco de dados.

Crie uma conta de banco de dados e Database management.

RDS PostgreSQL

Uma conta privilegiada que seja proprietária do banco de dados.

Crie uma conta e Crie um banco de dados.

Procedimento

  1. Adquira uma instância de sincronização bidirecional. Para mais informações, consulte Purchase a DTS instance.

    Importante

    Na página de compra, defina Function como Data Synchronization, Source Instance como PolarDB for PostgreSQL, Destination Instance como PostgreSQL e Synchronization Topology como Two-way Synchronization. Configure os outros parâmetros de acordo com as suas necessidades.

  2. Acesse a página da lista de tarefas de sincronização da região de destino. Use um dos dois métodos a seguir:

    Pelo console do DTS

    1. Acesse o console do Data Transmission Service (DTS).

    2. No painel de navegação à esquerda, clique em Data Synchronization.

    3. No canto superior esquerdo da página, selecione a região onde a instância de sincronização está localizada.

    Pelo console do DMS

    Nota

    O procedimento exato pode variar com base no modo e no layout do console do DMS. Para mais informações, consulte Simple mode e Customize the layout and style of the DMS interface.

    1. Acesse o Data Management (DMS).

    2. Na barra de menu superior, escolha Data + AI > Data Transmission (DTS) > Data Synchronization.

    3. À direita de Data Synchronization Tasks, selecione a região onde a instância de sincronização está localizada.

  3. Encontre a instância de sincronização bidirecional criada. Na coluna Actions da tarefa direta, clique em Configure Task.

  4. Configure os bancos de dados de origem e de destino.

    Seção

    Parâmetro

    Descrição

    N/A

    Task Name

    O DTS gera automaticamente um nome para a tarefa. Recomendamos especificar um nome descritivo para facilitar a identificação. O nome não precisa ser único.

    Source Database

    Select Existing Connection

    • Para usar uma instância de banco de dados que esteja added to the system (recém-criada ou salva), selecione a instância de banco de dados na lista suspensa. As informações do banco de dados são configuradas automaticamente.

      Nota

      No console do DMS, este item de configuração chama-se Select a DMS database instance..

    • Caso não tenha adicionado a instância de banco de dados ao sistema ou não precise usar uma instância já adicionada, configure manualmente as seguintes informações do banco de dados.

    Database Type

    Selecione PolarDB for PostgreSQL.

    Access Method

    Selecione Alibaba Cloud Instance.

    Instance Region

    Este valor é fixo para a região selecionada no momento da compra da instância. Não é possível alterar este valor.

    Replicate Data Across Alibaba Cloud Accounts

    Este exemplo usa uma instância de banco de dados que pertence à conta atual da Alibaba Cloud. Selecione No.

    Instance ID

    Selecione o ID da instância do cluster de origem do PolarDB for PostgreSQL.

    Database Name

    Insira o nome do banco de dados que contém os objetos a serem sincronizados no cluster de origem do PolarDB for PostgreSQL.

    Database Account

    Insira a conta do banco de dados do cluster de origem do PolarDB for PostgreSQL. Para obter informações sobre os requisitos de permissão, consulte Permission requirements for database accounts.

    Database Password

    Insira a senha correspondente à conta do banco de dados.

    Destination Database

    Select Existing Connection

    • Para usar uma instância de banco de dados que esteja added to the system (recém-criada ou salva), selecione a instância de banco de dados na lista suspensa. As informações do banco de dados são configuradas automaticamente.

      Nota

      No console do DMS, este item de configuração chama-se Select a DMS database instance..

    • Caso não tenha adicionado a instância de banco de dados ao sistema ou não precise usar uma instância já adicionada, configure manualmente as seguintes informações do banco de dados.

    Database Type

    Selecione PostgreSQL.

    Access Method

    Selecione Alibaba Cloud Instance.

    Instance Region

    Este valor é fixo para a região selecionada no momento da compra da instância. Não é possível alterar este valor.

    Instance ID

    Selecione o ID da instância de destino do ApsaraDB RDS for PostgreSQL.

    Database Name

    Insira o nome do banco de dados usado para receber dados na instância de destino do ApsaraDB RDS for PostgreSQL.

    Database Account

    Insira a conta do banco de dados da instância de destino do ApsaraDB RDS for PostgreSQL. Para obter informações sobre os requisitos de permissão, consulte Permission requirements for database accounts.

    Database Password

    Insira a senha correspondente à conta do banco de dados.

    Encryption

    Especifica se a conexão com o banco de dados de origem deve ser criptografada. Configure este parâmetro de acordo com as suas necessidades. Neste exemplo, Non-encrypted está selecionado.

    Para estabelecer uma conexão criptografada por SSL com o banco de dados de origem, execute as seguintes etapas: selecione SSL-encrypted, faça o upload do CA Certificate, Client Certificate e Private Key of Client Certificate conforme necessário, e especifique a Private Key Password of Client Certificate.

    Nota
    • Caso defina a Criptografia como SSL-encrypted para um banco de dados PostgreSQL autogerenciado, faça o upload do CA Certificate.

    • Para usar o certificado de cliente, faça o upload do Client Certificate e da Private Key of Client Certificate e especifique a Private Key Password of Client Certificate.

    • Para obter informações sobre como configurar a criptografia SSL para uma instância do ApsaraDB RDS for PostgreSQL, consulte SSL encryption.

  5. Após concluir a configuração, clique em Test Connectivity and Proceed na parte inferior da página.

    Nota
    • Certifique-se de que os blocos CIDR de endereços IP dos servidores do DTS foram adicionados às configurações de segurança dos bancos de dados de origem e de destino para permitir o acesso a partir dos servidores do DTS. Faça isso automática ou manualmente. Para mais informações, consulte Add the IP address CIDR blocks of DTS servers to a whitelist.

    • Caso o banco de dados de origem ou de destino for um banco de dados autogerenciado (onde o Access Method não é Alibaba Cloud Instance), clique também em Test Connectivity na caixa de diálogo CIDR Blocks of DTS Servers.

  6. Configure os objetos da tarefa.

    1. Na página Configure Objects, configure os objetos a serem sincronizados.

      Parâmetro

      Descrição

      Synchronization Types

      A opção Incremental Data Synchronization está selecionada. Por padrão, selecione também Schema Synchronization e Full Data Synchronization. Após a conclusão da pré-verificação, o DTS realiza uma sincronização completa dos dados dos objetos selecionados da instância de origem para o cluster de destino. Isso serve como dados de base para a sincronização incremental subsequente.

      Exclude DDL Operations

      • Selecione Yes para excluir operações DDL da sincronização.

      • Selecione No para sincronizar operações DDL.

        Importante

        Para garantir a estabilidade do link de sincronização bidirecional, escolha se deseja sincronizar operações DDL apenas para a tarefa direta (do banco de dados de origem para o banco de dados de destino). A tarefa reversa (do banco de dados de destino para o banco de dados de origem) exclui automaticamente as operações DDL.

      Global Conflict Resolution Policy

      Selecione uma política de resolução de conflitos de acordo com as suas necessidades.

      • TaskFailed (If a conflict occurs, an error is reported and the task is stopped)

        Caso ocorra um conflito de dados durante a sincronização, a tarefa relatará um erro e será interrompida. A tarefa entra no estado de falha e requer intervenção manual.

      • Ignore (If a conflict occurs, the conflicting record in the destination instance is used)

        Caso ocorra um conflito de dados durante a sincronização, a instrução de sincronização atual será ignorada e o processo continuará. O registro em conflito no banco de dados de destino será mantido.

      • Overwrite (If a conflict occurs, the conflicting record in the destination instance is overwritten)

        Caso ocorra um conflito de dados durante a sincronização, o registro em conflito no banco de dados de destino será sobrescrito.

      Nota
      • Para obter informações sobre os tipos de conflitos suportados, consulte Supported conflict detection.

      • Caso uma tarefa de sincronização seja pausada ou reiniciada e ocorra latência, essas políticas não entrarão em vigor durante o período de latência. Por padrão, os dados no banco de dados de destino são sobrescritos.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: Verifica se existe uma tabela com o mesmo nome no banco de dados de destino. Caso não exista uma tabela com o mesmo nome, a pré-verificação é aprovada. Caso exista uma tabela com o mesmo nome, a pré-verificação falhará e a tarefa de sincronização de dados não será iniciada.

        Nota

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

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

        Aviso

        Selecionar Ignore Errors and Proceed pode causar inconsistência de dados e comprometer o seu negócio. Por exemplo:

        • Caso os schemas das tabelas sejam iguais e um registro no banco de dados de destino tenha o mesmo valor de chave primária ou chave única que um registro no banco de dados de 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.

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

        • Caso os schemas das tabelas sejam diferentes, a sincronização inicial de dados poderá falhar. Isso pode resultar na sincronização apenas de dados parciais de colunas ou em uma falha completa da sincronização. Prossiga com cautela.

      Capitalization of Object Names in Destination Instance

      Configure a política de diferenciação de maiúsculas e minúsculas para os nomes dos objetos migrados, como bancos de dados, tabelas e colunas, na instância de destino. Por padrão, a DTS default policy está selecionada. Também é possível optar por manter a diferenciação de maiúsculas e minúsculas consistente com a política padrão do banco de dados de origem ou de destino. Para mais informações, consulte Case sensitivity of object names in the destination database.

      Source Objects

      Na caixa Source Objects, clique em um objeto a ser sincronizado e, em seguida, clique em 向右 para movê-lo para a caixa Selected Objects.

      Nota
      • Selecione schemas ou tabelas como objetos de sincronização. Caso selecione tabelas, outros objetos, como visualizações, triggers e procedimentos armazenados, não serão sincronizados com o banco de dados de destino.

      • Se as tabelas a serem sincronizadas contiverem colunas SERIAL e a opção Synchronization Types estiver com Schema Synchronization selecionado, recomenda-se selecionar também Sequence ou Full Schema Synchronization.

      Selected Objects

      • Para alterar o nome de um objeto na instância de destino, clique com o botão direito no objeto na caixa Selected Objects e modifique seu nome. Para mais informações, consulte Map table and column names.

      • Para remover um objeto, clique nele na caixa Selected Objects e, em seguida, clique em image para movê-lo de volta para a caixa Source Objects.

      Nota
      • Caso use o recurso de mapeamento de nomes de objetos, outros objetos que dependem do objeto mapeado poderão falhar na sincronização.

      • Para filtrar dados usando uma cláusula WHERE, clique com o botão direito em uma tabela na caixa Selected Objects e especifique as condições de filtro na caixa de diálogo exibida. Para mais informações, consulte Filter task data with an SQL condition.

      • Para selecionar operações SQL para sincronização incremental, clique com o botão direito em um objeto na caixa Selected Objects e selecione as operações SQL necessárias na caixa de diálogo exibida.

    2. Clique em Next: Advanced Settings para configurar parâmetros avançados.

      Parâmetro

      Descrição

      Dedicated Cluster for Task Scheduling

      Por padrão, o DTS agenda tarefas em um cluster compartilhado e não é necessário selecionar um cluster. Para um desempenho mais estável, adquira um cluster dedicado para executar tarefas de sincronização do DTS. Para mais informações, consulte What is a DTS dedicated cluster?.

      Retry Time for Failed Connections

      Após o início de uma tarefa de sincronização, caso a conexão com o banco de dados de origem ou de destino falhe, o DTS relatará um erro e começará imediatamente a tentar reconectar. A duração padrão de nova tentativa é de 720 minutos. Especifique também uma duração personalizada de 10 a 1.440 minutos. Recomendamos definir a duração para 30 minutos ou mais. Caso o DTS consiga se reconectar ao banco de dados dentro da duração especificada, a tarefa de sincronização será retomada automaticamente. Caso contrário, a tarefa falhará.

      Nota
      • Caso tenha várias instâncias do DTS (por exemplo, Instância A e Instância B) que compartilham a mesma origem ou destino, e definir o tempo de nova tentativa de rede para 30 minutos na Instância A e 60 minutos na Instância B, a duração menor de 30 minutos será usada para ambas.

      • Como o DTS cobra pelo tempo de execução da tarefa durante o período de nova tentativa de conexão, recomendamos personalizar a duração da nova tentativa com base nas suas necessidades ou liberar a instância do DTS o mais rápido possível após a liberação das instâncias de banco de dados de origem e de destino.

      Retry Time for Other Issues

      Após o início da tarefa de sincronização, caso ocorram outros problemas não relacionados à conectividade com o banco de dados de origem ou de destino (como exceções de execução de DDL ou DML), o DTS relatará um erro e iniciará imediatamente operações contínuas de nova tentativa. A duração padrão de nova tentativa é de 10 minutos. Personalize também a duração da nova tentativa dentro do intervalo de 1 a 1.440 minutos. Recomendamos definir como 10 minutos ou mais. Caso as operações relevantes sejam bem-sucedidas dentro da duração de nova tentativa definida, a tarefa de sincronização será retomada automaticamente. Caso contrário, a tarefa falhará.

      Importante

      O valor para Retry Time for Other Issues deve ser menor que o valor para Retry Time for Failed Connections.

      Enable Throttling for Full Data Synchronization

      Durante a etapa de sincronização completa, o DTS consome recursos de leitura e gravação dos bancos de dados de origem e de destino, o que pode aumentar a carga do banco de dados. Para reduzir a carga nos bancos de dados de origem e de destino, defina um limite de taxa para a tarefa de sincronização completa configurando os parâmetros Queries per second (QPS) to the source database, RPS of Full Data Migration e Data migration speed for full migration (MB/s).

      Nota
      • Este item de configuração está disponível apenas quando Synchronization Types está definido como Full Data Synchronization.

      • Também é possível adjust the full synchronization rate após a instância de sincronização entrar em execução.

      Enable Throttling for Incremental Data Synchronization

      Defina também um limite de taxa para a tarefa de sincronização incremental. Para aliviar a pressão no banco de dados de destino, defina RPS of Incremental Data Synchronization e Data synchronization speed for incremental synchronization (MB/s).

      Environment Tag

      Selecione uma tag de ambiente para identificar a instância de acordo com seus requisitos. Este exemplo não requer esta configuração.

      Configure ETL

      Defina se deseja ativar o recurso de extração, transformação e carga (ETL). Para mais informações, consulte What is ETL?. Valores válidos:

    3. Clique em Next: Data Validation para configurar uma tarefa de validação de dados.

      Para usar o recurso de validação de dados, consulte Configure data validation para obter instruções de configuração.

  7. Salve a tarefa e execute uma pré-verificação.

    • Para visualizar os parâmetros da API para configurar esta instância, passe o mouse sobre o botão Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters no tooltip.

    • Após visualizar os parâmetros da API, clique em Next: Save Task Settings and Precheck na parte inferior da página.

    Nota
    • Antes do início da tarefa de sincronização, o DTS executa uma pré-verificação. A tarefa só pode começar após a aprovação de todos os itens da pré-verificação.

    • Caso a pré-verificação falhe, clique em View Details para o item com falha. Corrija o problema conforme instruído e, em seguida, execute a pré-verificação novamente.

    • Caso a pré-verificação retorne um aviso:

      • Caso um item de verificação falhe e não possa ser ignorado, clique em View Details ao lado do item. Siga as instruções para corrigir o problema e, em seguida, execute a pré-verificação novamente.

      • Para itens de verificação que podem ser ignorados, clique em Confirm Alert Details, Ignore, OK e Precheck Again em sequência para pular o aviso e executar a pré-verificação novamente. Caso opte por ocultar o item de aviso, isso pode causar problemas como inconsistência de dados e comprometer o seu negócio.

  8. Quando a Success Rate da pré-verificação for 100%, clique em Back.

  9. Configure a tarefa de sincronização reversa.

    1. Aguarde a conclusão da inicialização da tarefa de sincronização direta até que seu Status seja Running.

    2. Na coluna Actions da tarefa reversa, clique em Configure Task.

    3. Repita os procedimentos de Step 4 a Step 7 para configurar a tarefa de sincronização reversa.

      Importante
      • Ao configurar a tarefa de sincronização de dados na direção reversa, selecione as instâncias de origem e de destino corretas. A instância de origem na direção reversa é a instância de destino na direção direta. A instância de destino na direção reversa é a instância de origem na direção direta. Garanta também que as configurações de parâmetros, como nome do banco de dados, conta e senha, sejam consistentes.

      • Ao configurar os bancos de dados de origem e de destino da tarefa de sincronização de dados na direção reversa, o parâmetro Instance Region não pode ser modificado. O número de parâmetros a serem configurados para uma tarefa de sincronização de dados na direção reversa é menor do que para uma tarefa de sincronização de dados na direção direta. Configure os parâmetros exibidos no console.

      • Quando o DTS verifica tabelas em conflito na direção reversa, as tabelas que foram sincronizadas com a instância de destino na direção direta são ignoradas no Processing Mode of Conflicting Tables.

      • Não selecione os Selected Objects da tarefa de sincronização de dados na direção direta para a tarefa de sincronização de dados na direção reversa.

      • Recomendamos não usar o recurso de mapeamento de nomes de objetos ao configurar a tarefa de sincronização de dados na direção reversa. Caso contrário, pode ocorrer inconsistência de dados.

    4. Quando a Success Rate da pré-verificação for 100%, clique em Back.

  10. Após a configuração da tarefa de sincronização reversa, aguarde até que o Status das tarefas direta e reversa seja Running. Isso indica que a sincronização bidirecional de dados foi configurada com sucesso.