Todos os produtos
Search
Central de documentação

Data Transmission Service:Criar um canal de Assinatura de Dados do Oracle

Última atualização: Jun 27, 2026

Assine dados incrementais de um banco de dados Oracle autogerenciado em tempo real. A Assinatura de Dados oferece suporte a atualizações de cache, desacoplamento assíncrono e sincronização baseada em ETL.

Pré-requisitos

  • O banco de dados Oracle autogerenciado deve ser da versão 9i, 10g ou 11g. Não há suporte para instâncias do Real Application Clusters (RAC).

  • Ative o logging suplementar no banco de dados Oracle autogerenciado, com supplemental_log_data_pk e supplemental_log_data_ui habilitados. Supplemental Logging.

  • O banco de dados Oracle autogerenciado deve operar no modo ARCHIVELOG, com um período de retenção adequado configurado para os logs arquivados e garantia de acessibilidade. ARCHIVELOG.

Observações de uso

  • O DTS não rastreia alterações de DDL online executadas por ferramentas como gh-ost ou pt-online-schema-change. O cliente pode falhar ao gravar os dados consumidos na tabela de destino devido a incompatibilidades de schema.

  • Se o banco de dados source estiver em uso em outra tarefa, como migração de dados, o sistema poderá rastrear informações fora do escopo da sua assinatura. Filtre os dados indesejados na aplicação cliente.

Preparativos

Faça login no banco de dados Oracle source e crie uma conta com privilégios de DBA para a Assinatura de Dados.

Importante

Caso precise rastrear alterações de dados de um banco de dados Oracle, mas não possa conceder permissão de administrador (DBA) à conta, ative o archive logging e o supplemental logging e conceda permissões refinadas à conta.

  1. Ative o archive logging e o supplemental logging.

    Tipo

    Procedimento

    Archive logging

    Execute as instruções a seguir para ativar o archive logging:

    shutdown immediate;
    startup mount;
    alter database archivelog;
    alter database open;
    archive log list;

    Supplemental logging

    Ative o supplemental logging no nível do banco de dados ou da tabela:

    Nota

    Ative o supplemental logging no nível do banco de dados para garantir a estabilidade das tarefas do DTS. Ative-o no nível da tabela para reduzir o uso de disco do banco de dados Oracle source.

    • Ativar o supplemental logging no nível do banco de dados

      1. Ative o supplemental logging mínimo:

        alter database add supplemental log data;
      2. Ative o supplemental logging de chave primária e chave única no nível do banco de dados:

        alter database add supplemental log data (primary key,unique index) columns;
    • Ativar o supplemental logging no nível da tabela

      1. Ative o supplemental logging mínimo:

        alter database add supplemental log data;
      2. Ative o supplemental logging no nível da tabela usando um dos métodos a seguir:

        • Ative o supplemental logging de chave primária no nível da tabela:

          alter table table_name add supplemental log data (primary key) columns;
        • Ative o supplemental logging no nível da tabela para todas as colunas:

          alter table tb_name add supplemental log data (all) columns ;
  2. Conceda permissões refinadas a uma conta do banco de dados Oracle.

    Oracle Versions 9i to 11g

    # Create a database account, for example, rdsdt_dtsacct, and grant permissions to the account.
    create user rdsdt_dtsacct IDENTIFIED BY rdsdt_dtsacct;
    grant create session to rdsdt_dtsacct;
    grant connect to rdsdt_dtsacct;
    grant resource to rdsdt_dtsacct;
    grant execute on sys.dbms_logmnr to rdsdt_dtsacct;
    grant select on V_$LOGMNR_LOGS to rdsdt_dtsacct;
    grant select on all_objects to rdsdt_dtsacct;
    grant select on all_tab_cols to rdsdt_dtsacct;
    grant select on dba_registry to rdsdt_dtsacct;
    grant select any table to rdsdt_dtsacct;
    grant select any transaction to rdsdt_dtsacct;
    -- v$log privileges
    grant select on v_$log to rdsdt_dtsacct;
    -- v$logfile privileges
    grant select on v_$logfile to rdsdt_dtsacct;
    -- v$archived_log privileges
    grant select on v_$archived_log to rdsdt_dtsacct;
    -- v$parameter privileges
    grant select on v_$parameter to rdsdt_dtsacct;
    -- v$database privileges
    grant select on v_$database to rdsdt_dtsacct;
    -- v$active_instances privileges
    grant select on v_$active_instances to rdsdt_dtsacct;
    -- v$instance privileges
    grant select on v_$instance to rdsdt_dtsacct;
    -- v$logmnr_contents privileges
    grant select on v_$logmnr_contents to rdsdt_dtsacct;
    -- system tables
    grant select on sys.USER$ to rdsdt_dtsacct;
    grant select on SYS.OBJ$ to rdsdt_dtsacct;
    grant select on SYS.COL$ to rdsdt_dtsacct;
    grant select on SYS.IND$ to rdsdt_dtsacct;
    grant select on SYS.ICOL$ to rdsdt_dtsacct;
    grant select on SYS.CDEF$ to rdsdt_dtsacct;
    grant select on SYS.CCOL$ to rdsdt_dtsacct;
    grant select on SYS.TABPART$ to rdsdt_dtsacct;
    grant select on SYS.TABSUBPART$ to rdsdt_dtsacct;
    grant select on SYS.TABCOMPART$ to rdsdt_dtsacct;

Procedimento

  1. Adquira um canal de Assinatura de Dados. Processo de aquisição.

    Nota

    Na página de compra, defina Subscription Instance Type como Oracle e selecione a região da instância source.

  2. Faça login no console do DTS.

  3. No painel de navegação à esquerda, clique em Change Tracking.

  4. Na parte superior da página Data Subscription, selecione a região do canal de assinatura.

  5. Localize o canal de Assinatura de Dados adquirido e clique em Configure Subscription Channel.

  6. Configure o banco de dados source e o tipo de rede.

    Configure source database and network type

    Categoria

    Parâmetro

    Descrição

    N/A

    Nome da assinatura

    O DTS gera um nome automaticamente. Use um nome descritivo para facilitar a identificação. A unicidade não é obrigatória.

    Informações do banco de dados source

    Tipo de instância

    Selecione o tipo da instância source. Este exemplo usa User-Created Database with Public IP.

    Nota

    Se o banco de dados autogerenciado for de um tipo de instância diferente, talvez seja necessário concluir preparativos adicionais. Para mais informações, consulte Preparativos para migração de dados.

    Tipo de banco de dados

    Preenchido automaticamente como Oracle. Não é possível alterar.

    Região da instância

    A Source Instance Region selecionada durante a compra. Não é possível alterar.

    ID da instância ECS

    Selecione a instância ECS que hospeda o banco de dados Oracle autogerenciado.

    Porta

    Porta de serviço do banco de dados Oracle autogerenciado.

    SID

    SID do banco de dados Oracle autogerenciado.

    Conta do banco de dados

    Conta do banco de dados Oracle autogerenciado.

    Nota

    Siga os Preparativos para criar e configurar esta conta.

    Senha do banco de dados

    Insira a senha da conta do banco de dados.

    Tipo de rede de consumo

    N/A

    Tipo de rede do canal de Assinatura de Dados.

    Nota
    • Selecione o mesmo tipo de rede da instância ECS onde o cliente de assinatura está implantado. Por exemplo, se a instância ECS estiver em uma VPC, selecione VPC como tipo de rede e especifique a Proprietary Network e o vSwitch.

    • Conexões de rede privada minimizam a latência.

    • Classic Network

      Se definir o tipo de rede como Classic Network, nenhuma outra configuração será necessária. What is a classic network?.

    • Proprietary Network

      Se definir o tipo de rede como Proprietary Network, também será necessário selecionar uma Proprietary Network e um vSwitch. What is a VPC?.

  7. Clique em Authorize Whitelist and Proceed to Next Step.

    O DTS adiciona seus blocos CIDR de servidor à configuração do banco de dados source. Para instâncias da Alibaba Cloud, como ApsaraDB RDS for MySQL ou ApsaraDB for MongoDB, os blocos CIDR são adicionados à lista de permissões da instância. Para bancos de dados autogerenciados no ECS, o DTS adiciona blocos CIDR às regras do grupo de segurança, mas você também deve adicioná-los à lista de permissões do banco de dados. Blocos CIDR dos servidores DTS.

    Aviso

    Adicionar blocos CIDR públicos apresenta riscos de segurança. Use senhas fortes, restrinja portas abertas, autentique APIs internas, revise o acesso à rede regularmente e utilize conexões privadas por meio do Express Connect, VPN Gateway ou Smart Access Gateway.

  8. Configure os tipos de dados e os objetos de assinatura.

    Select data types and subscription objects

    Parâmetro Descrição
    Tipos de dados necessários
    • Data Update

      Assina alterações de dados (operações INSERT, DELETE e UPDATE) para os objetos selecionados.

    • Schema Update

      Assina alterações de schema (operações CREATE, DROP e ALTER) para todos os objetos na instância. Filtre os dados necessários na aplicação cliente.

    Nota
    • Selecionar um banco de dados inteiro também rastreia alterações em objetos adicionados posteriormente.
    • Selecionar uma tabela específica rastreia apenas essa tabela. Para rastrear novas tabelas, adicione-as aos objetos de assinatura. Modificar os objetos para rastreamento de alterações.
    Objetos necessários

    Na caixa Required Objects, selecione os objetos a serem rastreados e clique no ícone para movê-los para a caixa Selected Objects.

    Nota É possível selecionar objetos no nível do banco de dados ou da tabela.
  9. No canto inferior direito da página, clique em Save and Precheck.

    Nota
    • O DTS executa uma pré-verificação antes do início da tarefa de assinatura. A tarefa só começa após a aprovação na pré-verificação.

    • Se a pré-verificação falhar, clique no ícone Prompt ao lado do item com falha para obter detalhes. Corrija os problemas e execute a pré-verificação novamente.

  10. Após Precheck Passed aparecer na caixa de diálogo Precheck, feche a caixa de diálogo Precheck.

    O canal de Assinatura de Dados entra em inicialização, processo que geralmente leva cerca de um minuto. Após a inicialização, crie grupos de consumidores e comece a consumir os dados da assinatura.

Próximas etapas

  1. Criar grupos de consumidores

  2. Usar um cliente Kafka para consumir dados de assinatura

  3. Usar código de exemplo do SDK para consumir dados de assinatura