Todos os produtos
Search
Central de documentação

Data Transmission Service:Sincronizar um banco de dados Oracle autogerenciado para o PolarDB for PostgreSQL (compatível com Oracle)

Última atualização: Jun 27, 2026

Use o Data Transmission Service (DTS) para sincronizar dados continuamente de um banco de dados Oracle autogerenciado para um cluster PolarDB for PostgreSQL (Compatible with Oracle). O DTS oferece suporte à sincronização de schema, sincronização completa de dados e sincronização incremental de dados, mantendo o cluster de destino atualizado enquanto a source Oracle continua atendendo ao tráfego de produção.

Pré-requisitos

Antes de começar, verifique se você possui:

Faturamento

Tipo de sincronização

Preço

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

Gratuito

Sincronização incremental de dados

Pago. Consulte Visão geral de faturamento

Operações SQL suportadas

Tipo de operação

Instruções SQL

DML (Data Manipulation Language)

INSERT, UPDATE e DELETE

DDL (Data Definition Language)

CREATE TABLE (exceto CREATE TABLE AS SELECT e tabelas com partições ou subpartições); ALTER TABLE (ADD COLUMN, ADD INDEX, DROP COLUMN, DROP INDEX, MODIFY COLUMN, RENAME COLUMN); DROP TABLE; RENAME TABLE; TRUNCATE TABLE; CREATE INDEX

Permissões de conta de banco de dados

Banco de dados

Permissões necessárias

Referência

Oracle autogerenciado

Permissões refinadas

Preparar uma conta de banco de dados, CREATE USER e GRANT

PolarDB for PostgreSQL (Compatible with Oracle)

Permissões de proprietário de schema (conta privilegiada recomendada)

Criar uma conta de banco de dados e Gerenciamento de banco de dados

Importante

Ative o modo ARCHIVELOG e o supplemental logging para capturar alterações incrementais de dados. Consulte Configuração do banco de dados.

Limitações

Limitações do banco de dados de source

Limitação

Detalhes

Chave primária ou restrição única obrigatória

As tabelas devem ter uma chave primária ou restrição única com valores de campo exclusivos. Tabelas sem essa configuração geram dados duplicados no destino.

Comprimento do nome da tabela (Oracle 12c e posterior)

Os nomes das tabelas não podem exceder 30 bytes.

Máximo de tabelas por tarefa (sincronização no nível de tabela com mapeamento)

1.000 tabelas. Para ultrapassar esse limite, divida as tabelas em várias tarefas ou sincronize todo o banco de dados como um único objeto.

Oracle RAC conectado via Express Connect

Se o banco de dados de source for um Oracle RAC conectado por meio de um circuito Express Connect, configure um de seus VIPs nas configurações de conexão. Caso o banco de dados Oracle autogerenciado seja um cluster RAC, não é possível configurar um IP SCAN — use um VIP nas configurações de conexão. O failover de nó RAC não é suportado com essa configuração.

Redo logs e archive logs

Redo logs e archive logs devem estar habilitados.

Retenção de log

Para tarefas apenas incrementais: retenha logs por pelo menos 24 horas. Para tarefas completas + incrementais: retenha logs por pelo menos 7 dias; após a conclusão da sincronização completa, reduza esse período para 24 horas. Se o DTS não conseguir acessar esses logs, a tarefa poderá falhar ou causar perda de dados — esse cenário não é coberto pelo Service Level Agreement (SLA) do DTS.

Alternância primário/secundário

Se ocorrer uma alternância primário/secundário no banco de dados de source durante a sincronização, a tarefa falhará.

String vazia VARCHAR2 com restrição NOT NULL

O Oracle trata uma string VARCHAR2 vazia como nula. Se a coluna de destino tiver uma restrição NOT NULL, a tarefa falhará.

Política de Fine-Grained Audit (FGA)

Se o FGA estiver habilitado em uma tabela, o DTS não conseguirá detectar a pseudocoluna ORA_ROWSCN e a tarefa falhará. Desative a política FGA na tabela ou exclua-a da sincronização.

Atualização apenas de campos de texto grande

Não suportado. A tarefa falhará se uma instrução UPDATE modificar apenas campos de texto grande.

DDL durante a sincronização de schema ou completa

Não execute operações DDL que alterem o schema durante a sincronização de schema ou a sincronização completa. As consultas do DTS causam bloqueios de metadados na source, o que também pode impedir operações DDL nesse local.

Outras limitações

Limitação

Detalhes

Oracle Data Pump durante sincronização incremental

Não utilize o Oracle Data Pump para gravar no banco de dados de source durante a sincronização incremental — pode ocorrer perda de dados.

Tabelas externas

Não podem ser sincronizadas.

Horário de sincronização

Execute a sincronização fora dos horários de pico. A sincronização inicial completa de dados consome recursos de leitura e gravação tanto nos bancos de dados de source quanto de destino.

Tamanho do tablespace após sincronização completa

Operações INSERT simultâneas durante a sincronização completa causam fragmentação de tabela no destino. O tamanho do tablespace de destino será maior que o da source após a conclusão da sincronização completa.

Cálculo de latência de sincronização

O DTS calcula a latência com base no timestamp do registro sincronizado mais recente e no timestamp atual da source. Se nenhuma operação DML for executada na source por um longo período, a latência relatada poderá ser imprecisa. Para manter a precisão da latência, crie uma tabela de heartbeat ao sincronizar um banco de dados inteiro — o DTS a atualiza a cada segundo.

Índices únicos baseados em ROWID

O cluster de destino gera índices únicos (por exemplo, pg_oid_1498503_index) correspondentes aos valores ROWID da source. O destino terá mais índices que a source.

Terminador de string '\0'

O cluster de destino não suporta o terminador de string '\0'. O DTS remove esse caractere se ele estiver presente nos dados da source, causando inconsistência de dados.

Restrições CHECK

As restrições CHECK da source são convertidas em restrições NOT NULL no destino.

Compatibilidade de conjunto de caracteres

Os conjuntos de caracteres da source e do destino devem ser compatíveis. A incompatibilidade causa inconsistência de dados ou falha na tarefa.

Compatibilidade de tipos de dados

Use o recurso de sincronização de schema do DTS para evitar falhas decorrentes de tipos de dados incompatíveis.

Fuso horário

A source e o destino devem usar o mesmo fuso horário.

Tipos definidos personalizados

Sincronizados com o destino. Objetos de tipo interno gerados automaticamente pelo Oracle não são sincronizados — o destino já os suporta.

Gravações externas no destino durante a sincronização

Não grave dados de sources diferentes do DTS no destino durante a sincronização — pode ocorrer inconsistência de dados.

Sequências

O DTS valida o conteúdo dos dados, mas não metadados como sequências. Valide as sequências manualmente. Após migrar sua aplicação para o destino, as sequências não serão incrementadas a partir do valor máximo da source. Atualize os valores das sequências no destino antes da migração. Consulte Atualizar o valor da sequência no banco de dados de destino.

session_replication_role para chaves estrangeiras e triggers

Em uma tarefa de sincronização completa ou incremental, se as tabelas a serem sincronizadas contiverem chaves estrangeiras, triggers ou event triggers: o DTS define session_replication_role como replica no nível de sessão quando a conta de destino possui permissões privilegiadas ou de superusuário. Se a conta não tiver essas permissões, defina session_replication_role como replica manualmente. Operações de atualização ou exclusão em cascata na source enquanto este parâmetro estiver definido como replica podem causar inconsistência de dados. Após a liberação da tarefa do DTS, altere session_replication_role de volta para origin.

Recuperação de falha na tarefa

Se uma tarefa falhar, a equipe de suporte do DTS tentará restaurá-la dentro de 8 horas. Eles podem reiniciar a tarefa ou ajustar parâmetros da tarefa (não parâmetros do banco de dados).

Durante a sincronização de schema, o DTS sincroniza chaves estrangeiras da source para o destino. Durante a sincronização completa e incremental, o DTS desativa temporariamente as verificações de restrições e operações em cascata de chaves estrangeiras no nível de sessão. Pode ocorrer inconsistência de dados se operações de atualização ou exclusão em cascata forem executadas na source enquanto a tarefa estiver ativa.

Criar uma tarefa de sincronização

Etapa 1: Abrir a lista de tarefas de sincronização de dados

Abra a lista de tarefas usando o console do DTS ou o console do DMS.

Console do DTS

  1. Faça login no console do DTS.

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

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

Console do DMS

Nota

As etapas podem variar dependendo do modo e do layout do console do DMS. Consulte Console do modo simples e Personalizar o layout e o estilo do console do DMS.

  1. Faça login no console do DMS.

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

  3. À direita de Data Synchronization Tasks, selecione a região da instância de sincronização.

Etapa 2: Configurar a tarefa

  1. Clique em Create Task.

  2. (Opcional) No canto superior direito, clique em New Configuration Page para alternar para a nova interface de configuração.

    Se o botão exibir Back to Previous Version , você já está na nova página de configuração. Recomenda-se o uso da nova versão.
  3. Configure os bancos de dados de source e de destino utilizando os seguintes parâmetros.

    Configurações da tarefa

    Parâmetro

    Descrição

    Task Name

    O DTS gera um nome automaticamente. Especifique um nome descritivo para facilitar a identificação — o nome não precisa ser exclusivo.

    Banco de dados de source

    Parâmetro

    Descrição

    Select Existing Connection

    Selecione uma instância de banco de dados registrada na lista ou deixe em branco e configure os campos abaixo manualmente. No console do DMS, este campo é rotulado como Select a DMS database instance.

    Database Type

    Selecione Oracle.

    Access Method

    Selecione o método correspondente à implantação do seu banco de dados de source. Este tópico usa Self-managed Database on ECS como exemplo. Para outros métodos de acesso e quaisquer etapas adicionais necessárias, consulte Visão geral das preparações.

    Instance Region

    Selecione a região onde reside o banco de dados Oracle de source.

    ECS Instance ID

    Selecione o ID da instância ECS que executa o banco de dados Oracle de source.

    Port Number

    Insira a porta de serviço do banco de dados Oracle de source. O padrão é 1521.

    Oracle Type

    Selecione Non-RAC Instance e forneça o SID, ou selecione RAC or PDB Instance e forneça o Service Name. Este tópico utiliza RAC or PDB Instance com um Service Name.

    Database Account

    Insira a conta do banco de dados. Para requisitos de permissão, consulte Permissões de conta de banco de dados.

    Database Password

    Insira a senha da conta do banco de dados.

    Encryption

    Selecione Non-encrypted ou SSL-encrypted. Para criptografia SSL, faça upload do CA Certificate e insira a CA Key. A criptografia SSL está disponível apenas quando Access Method for Express Connect, VPN Gateway, or Smart Access Gateway e Oracle Type for RAC or PDB Instance.

    Banco de dados de destino

    Parâmetro

    Descrição

    Select Existing Connection

    Selecione uma instância de banco de dados registrada na lista ou deixe em branco e configure os campos abaixo manualmente. No console do DMS, este campo é rotulado como Select a DMS database instance.

    Database Type

    Selecione PolarDB (Compatible with Oracle).

    Access Method

    Selecione Alibaba Cloud Instance.

    Instance Region

    Selecione a região onde o cluster de destino está localizado.

    Instance ID

    Selecione o ID do cluster PolarDB for PostgreSQL (Compatible with Oracle) de destino.

    Database Name

    Insira o nome do banco de dados no cluster de destino que receberá os objetos sincronizados.

    Database Account

    Insira a conta do banco de dados para o cluster de destino. Para requisitos de permissão, consulte Permissões de conta de banco de dados.

    Database Password

    Insira a senha da conta do banco de dados.

    Encryption

    Selecione Non-encrypted ou SSL-encrypted. Para criptografia SSL, faça upload do CA Certificate.

  4. Clique em Test Connectivity and Proceed na parte inferior da página. Na caixa de diálogo CIDR Blocks of DTS Servers, clique em Test Connectivity.

    Adicione os blocos de endereços IP dos servidores DTS às configurações de segurança dos bancos de dados de source e de destino antes do teste de conectividade. O DTS pode adicioná-los automaticamente ou você pode adicioná-los manualmente. Consulte Adicionar a lista de permissões de endereços IP dos servidores DTS .

Etapa 3: Selecionar objetos para sincronizar

  1. Na página Configure Objects, defina os seguintes parâmetros.

    Parâmetro Descrição
    Synchronization Types O DTS sempre seleciona Incremental Data Synchronization. Por padrão, Schema Synchronization e Full Data Synchronization também são selecionados. O DTS usa os dados completos dos objetos selecionados para inicializar o cluster de destino antes de iniciar a sincronização incremental.
    Processing Mode of Conflicting Tables Precheck and Report Errors: Verifica se existem tabelas com o mesmo nome no destino. Se encontradas, a pré-verificação relata um erro e a tarefa não inicia. Para lidar com conflitos de nomenclatura sem excluir ou renomear a tabela de destino, mapeie o objeto para um nome diferente. Consulte Mapeamento de nomes de colunas e tabelas de banco de dados. Ignore Errors and Proceed: Ignora a verificação de conflito de nomes.
    Aviso

    Esta opção pode causar inconsistência de dados. Durante a sincronização completa, o DTS ignora registros da source que entram em conflito com registros de destino. Durante a sincronização incremental, o DTS substitui os registros de destino pelos registros da source. Se os schemas forem inconsistentes, a inicialização de dados poderá falhar parcial ou totalmente.

    Capitalization of Object Names in Destination Instance Define a política de maiúsculas e minúsculas para nomes de bancos de dados, tabelas e colunas no destino. O padrão é DTS default policy. Consulte Política de maiúsculas e minúsculas para nomes de objetos de destino.
    Source Objects Clique nos objetos na caixa Source Objects e, em seguida, clique no ícone de seta para a direita para movê-los para a caixa Selected Objects. É possível selecionar objetos no nível de banco de dados, tabela ou coluna.
    Selected Objects Se você não estiver usando uma conta privilegiada, ou se o nome do schema da source não corresponder às convenções de nomenclatura do PolarDB for PostgreSQL (Compatible with Oracle), clique com o botão direito no schema no painel Selected Objects, abra a caixa de diálogo Edit Schema e atualize o Schema Name para corresponder ao banco de dados de destino. Consulte Mapear nomes de tabelas e colunas. Para selecionar operações SQL específicas para um banco de dados ou tabela, clique com o botão direito no objeto e escolha as operações na caixa de diálogo. Para aplicar filtros de linha, clique com o botão direito em uma tabela e configure as condições de filtro. Consulte Definir condições de filtro. Renomear um objeto pode interromper a sincronização de outros objetos que dependem dele.
  2. Clique em Next: Advanced Settings e configure os seguintes parâmetros.

    Parâmetro Descrição
    Dedicated Cluster for Task Scheduling O DTS usa um cluster compartilhado por padrão. Para maior estabilidade da tarefa, adquira um cluster dedicado. Consulte O que é um cluster dedicado do DTS?
    Retry Time for Failed Connections Tempo durante o qual o DTS tenta reconectar após uma falha de conexão. Padrão: 720 minutos. Intervalo válido: 10–1.440 minutos. Defina como 30 minutos ou mais. Se a conexão for restaurada dentro desse período, a tarefa será retomada automaticamente.
    Nota

    Quando várias instâncias do DTS compartilham uma source ou um destino, o DTS aplica a menor duração de nova tentativa configurada entre todas as instâncias. O DTS cobra pelo tempo de execução durante as novas tentativas de conexão.

    Retry Time for Other Issues Tempo durante o qual o DTS tenta novamente após erros que não sejam de conexão (por exemplo, erros de execução DDL ou DML). Padrão: 10 minutos. Intervalo válido: 1–1.440 minutos. Defina como 10 minutos ou mais. Este valor deve ser menor que Retry Time for Failed Connections.
    Enable Throttling for Full Data Synchronization Limita as taxas de leitura/gravação da sincronização completa para reduzir a carga no destino. Defina Queries per second (QPS) to the source database, RPS of Full Data Migration e Data migration speed for full migration (MB/s). Disponível apenas quando Full Data Synchronization estiver selecionado. Você também pode ajustar a taxa enquanto a tarefa está em execução.
    Enable Throttling for Incremental Data Synchronization Limita as taxas de sincronização incremental. Defina RPS of Incremental Data Synchronization e Data synchronization speed for incremental synchronization (MB/s).
    Environment Tag Anexe uma tag de ambiente à instância para identificação.
    Actual Write Code Selecione o tipo de codificação para os dados gravados no destino.
    Configure ETL Escolha se deseja ativar extração, transformação e carregamento (ETL). Selecione Yesnotificações de alerta para inserir instruções de processamento de dados no editor de código. Consulte Configurar ETL em uma tarefa de migração ou sincronização de dados. Selecione No para desativar o ETL. Para informações gerais sobre ETL, consulte O que é ETL?
    Monitoring and Alerting Configure alertas para falhas de tarefa ou latência que exceda um limiar. Selecione Yes para definir um limiar de alerta e contatos de notificação. Consulte Configurar monitoramento e alertas durante a configuração da tarefa.
  3. Clique em Data Verification para configurar uma tarefa de verificação de dados. Consulte Configurar verificação de dados.

Etapa 4: Salvar a tarefa e executar a pré-verificação

  • Para visualizar os parâmetros da API desta configuração, passe o mouse sobre Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters.

  • Clique em Next: Save Task Settings and Precheck para salvar a configuração e iniciar a pré-verificação.

O DTS executa uma pré-verificação antes de iniciar qualquer tarefa de sincronização. A tarefa só começa se a pré-verificação for aprovada.
Se a pré-verificação falhar, clique em View Details ao lado do item com falha, corrija o problema e execute a pré-verificação novamente.
Se a pré-verificação gerar avisos não ignoráveis, clique em View Details , corrija o problema e execute novamente.
Se a pré-verificação gerar avisos ignoráveis, clique em Confirm Alert Details > Ignore > OK e, em seguida, clique em Precheck Again para prosseguir. Ignorar avisos pode causar inconsistência de dados.

Etapa 5: Adquirir a instância

  1. Quando a Success Rate atingir 100%, clique em Next: Purchase Instance.

  2. Na página Purchase, selecione o método de faturamento e as especificações da instância.

    Parâmetro

    Descrição

    Billing Method

    Subscription: Pagamento antecipado por uma duração fixa. Custo-benefício para tarefas contínuas e de longo prazo. Pagamento conforme o uso: Faturamento horária pelo uso real. Adequado para tarefas de curto prazo ou de teste — libere a instância a qualquer momento para interromper as cobranças.

    Resource Group Settings

    O grupo de recursos para a instância. Padrão: default resource group. Consulte O que é Resource Management?

    Instance Class

    Determina o desempenho da sincronização. Selecione com base no volume de dados e nos requisitos de throughput. Consulte Especificações de link de sincronização de dados.

    Subscription Duration

    Disponível apenas para faturamento Subscription. Opções mensais: 1–9 meses. Opções anuais: 1, 2, 3 ou 5 anos.

  3. Marque a caixa de seleção Data Transmission Service (Pay-as-you-go) Service Terms.

  4. Clique em Buy and Start e, em seguida, clique em OK na caixa de diálogo de confirmação.

Monitore a tarefa na página de sincronização de dados.

Próximos passos

Após o início da tarefa de sincronização e a inicialização completa do cluster de destino, valide os dados no destino antes de alternar o tráfego da aplicação:

  • Atualize os valores das sequências no destino antes da alternância. Consulte Atualizar o valor da sequência no banco de dados de destino.

  • Verifique se session_replication_role foi redefinido para origin no destino após a liberação da tarefa do DTS.

  • Confira se os conjuntos de caracteres e fusos horários correspondem entre a source e o destino para evitar problemas de dados pós-alternância.