Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo mostra como adicionar uma fonte CDC (Oracle Database Change Data Capture) a um fluxo de eventos.
O conector de origem do CDC do Oracle Database para o fluxo de eventos do Microsoft Fabric permite capturar um instantâneo dos dados atuais em um banco de dados Oracle. Em seguida, o conector monitora e registra quaisquer alterações futuras a nível de linha nesses dados. Depois que as alterações forem capturadas no fluxo de eventos, você poderá processar esses dados CDC em tempo real e enviá-los para destinos diferentes dentro de Fabric para processamento ou análise adicionais. O conector dá suporte a bancos de dados Oracle, sejam eles locais ou na nuvem.
Pré-requisitos
- Acesso a um workspace no modo de licença de capacidade do Fabric ou no modo de licença de avaliação com permissões de colaborador ou superiores.
- Um servidor de banco de dados Oracle em execução (local ou hospedado na nuvem).
- Seu banco de dados Oracle deve ser acessível publicamente e não por trás de um firewall ou protegido em uma rede virtual. Se ele residir em uma rede protegida, conecte-se a ela usando a injeção de rede virtual do conector Eventstream.
- Oracle LogMiner habilitado no seu banco de dados para captura de CDC.
- Um usuário de banco de dados com as permissões necessárias para operações CDC.
- Caso não tenha um Eventstream, crie um Eventstream.
Versões do Oracle com suporte
O conector CDC do Banco de Dados Oracle dá suporte às seguintes versões do banco de dados Oracle:
- Oracle Database 12c (12.1) e posterior
- Oracle Database 19c
- Oracle Database 21c
- Banco de Dados Autônomo Oracle
Habilitar o CDC em seu Banco de Dados Oracle
Para capturar dados de alteração do Oracle, você precisa habilitar o registro em log suplementar e configurar o LogMiner.
Habilitar registro suplementar
Conecte-se ao banco de dados Oracle como um usuário com privilégios DBA.
Habilite o registro em log suplementar no nível do banco de dados executando os seguintes comandos SQL:
-- Enable minimal supplemental logging at the database level ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; -- Enable supplemental logging for all columns (recommended for CDC) ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;Verifique se o log suplementar está habilitado:
SELECT SUPPLEMENTAL_LOG_DATA_MIN, SUPPLEMENTAL_LOG_DATA_ALL FROM V$DATABASE;A consulta deve retornar
YESpara ambas as colunas.
Habilitar o modo ARCHIVELOG
Para que o CDC funcione corretamente, o banco de dados deve estar no modo ARCHIVELOG.
Verifique o modo de log de arquivo morto atual:
SELECT LOG_MODE FROM V$DATABASE;Se ainda não estiver no modo ARCHIVELOG, habilite-o:
-- Shut down the database SHUTDOWN IMMEDIATE; -- Start in mount mode STARTUP MOUNT; -- Enable archivelog mode ALTER DATABASE ARCHIVELOG; -- Open the database ALTER DATABASE OPEN;
Criar um usuário CDC com privilégios necessários
Crie um usuário dedicado para o conector CDC com as permissões necessárias:
-- Create a user for CDC
CREATE USER fabric_cdc IDENTIFIED BY <your_password>;
-- Grant basic privileges
GRANT CREATE SESSION TO fabric_cdc;
GRANT SELECT ON V_$DATABASE TO fabric_cdc;
GRANT SELECT ON V_$LOG TO fabric_cdc;
GRANT SELECT ON V_$LOGFILE TO fabric_cdc;
GRANT SELECT ON V_$ARCHIVED_LOG TO fabric_cdc;
GRANT SELECT ON V_$ARCHIVE_DEST_STATUS TO fabric_cdc;
-- Grant LogMiner privileges
GRANT EXECUTE ON DBMS_LOGMNR TO fabric_cdc;
GRANT EXECUTE ON DBMS_LOGMNR_D TO fabric_cdc;
GRANT SELECT ANY TRANSACTION TO fabric_cdc;
GRANT LOGMINING TO fabric_cdc;
-- Grant SELECT on tables you want to capture
GRANT SELECT ON <schema>.<table_name> TO fabric_cdc;
Substitua <your_password>, <schema>, e <table_name> pelos seus valores reais.
Iniciar o assistente Selecionar uma fonte de dados
Se você ainda não adicionou nenhuma fonte ao fluxo de eventos, selecione o bloco Conectar fontes de dados . Você também pode selecionar Adicionar fonte>Conectar fontes de dados na faixa de opções.
Se você estiver adicionando a origem a um fluxo de eventos já publicado, alterne para o modo Editar. Na faixa de opções, selecione Adicionar fonte>Conectar fontes de dados.
Na página Selecionar uma fonte de dados , pesquise e selecione Conectar no bloco do Oracle DB (CDC ).
Configurar e conectar-se ao Oracle Database CDC
Na página Conectar, em Servidor, insira o endpoint da Oracle.
Você pode fornecer apenas o nome do host ou incluir host, porta e serviço/SID em um único valor. Por exemplo:
your-oracle-host.example.com:1521/ORCL.Em credenciais de conexão, selecione uma conexão existente ou crie uma nova:
- Para criar uma nova conexão, selecione Nova conexão e insira:
- Nome da conexão: um nome para essa conexão.
- Nome de usuário: o usuário do banco de dados Oracle com permissões CDC.
- Senha: a senha do usuário do banco de dados.
- Para criar uma nova conexão, selecione Nova conexão e insira:
Selecione Conectar.
Depois que a conexão for estabelecida, escolha as tabelas a serem capturadas selecionando Todas as tabelas ou Insira os nomes da tabela. Se você escolher Enter table name(s), insira uma lista opcional separada por vírgulas de identificadores de tabela completos (
schemaName.tableName) para as tabelas de banco de dados Oracle a serem monitoradas.Você pode expandir as configurações avançadas para acessar mais opções de configuração para a fonte CDC do Banco de Dados Oracle:
-
Modo de bloqueio de snapshot: controla se e por quanto tempo o conector mantém a tabela bloqueada. Os bloqueios de tabela impedem que determinados tipos de operações na tabela ocorram enquanto o conector executa um snapshot.
-
Shared(padrão): permite o acesso simultâneo à tabela, mas impede que qualquer sessão adquira um bloqueio exclusivo da tabela. O conector adquire um bloqueio de nível ROW SHARE enquanto captura o esquema de tabela. -
None: Impede que o conector adquira bloqueios nas tabelas durante o snapshot. Use essa configuração somente se nenhuma alteração de esquema puder ocorrer durante a criação do instantâneo.
-
-
Modo de tratamento decimal: especifica como o conector deve lidar com valores de ponto flutuante para
NUMBER,DECIMALeNUMERICcolunas. Você pode definir uma das seguintes opções:-
Precise(padrão): representa valores precisamente usandojava.math.BigDecimalvalores representados em eventos de alteração no formato binário. -
Double: representa valores usando valores duplos. O uso de valores duplos é mais fácil, mas pode resultar em uma perda de precisão. -
String: codifica valores como cadeias de caracteres formatadas. Usar a opçãoStringé mais fácil de usar, mas resulta na perda de informações semânticas sobre o tipo real.
-
-
Modo de instantâneo: especifica o modo que o conector usa para tirar instantâneos de uma tabela capturada.
-
Initial(padrão): o instantâneo inclui a estrutura e os dados das tabelas capturadas. Especifique esse valor para preencher tópicos com uma representação completa dos dados das tabelas capturadas. Se o snapshot for concluído com sucesso, o conector não executará o snapshot novamente na próxima vez que for iniciado. -
InitialOnly: O instantâneo inclui a estrutura e os dados das tabelas capturadas. O conector executa um snapshot inicial e, em seguida, para, sem processar nenhuma alteração subsequente. -
NoData: o instantâneo inclui apenas a estrutura de tabelas capturadas. Especifique esse valor se você quiser que o conector capture dados somente de alterações que ocorrerem após o snapshot.
-
-
Modo de bloqueio de snapshot: controla se e por quanto tempo o conector mantém a tabela bloqueada. Os bloqueios de tabela impedem que determinados tipos de operações na tabela ocorram enquanto o conector executa um snapshot.
Selecione Avançar para continuar.
Em Revisão + conexão, examine suas configurações.
Selecione Adicionar (Fluxo de Eventos) ou Conectar (Hub em Tempo Real).
Exibir fluxo de eventos atualizado
Você pode ver a fonte CDC do Banco de Dados Oracle adicionada ao fluxo de eventos no modo Editar.
Para implementar essa fonte CDC do Oracle Database recém-adicionada, selecione Publicar. Depois de concluir essas etapas, a fonte Oracle Database CDC estará disponível para ser visualizada na exibição ao vivo.
Conteúdo relacionado
Outros conectores:
- Fluxos de dados do Amazon Kinesis
- Azure Cosmos DB
- Hubs de eventos do Azure
- Barramento de Serviço do Azure
- Hub IoT do Azure
- Captura de dados de alterações (CDA) com o Banco de Dados SQL do Azure
- Confluent Kafka
- Ponto de extremidade personalizado
- Google Cloud Pub/Sub
- CDC do Banco de Dados MySQL
- CDC do banco de dados PostgreSQL
- Dados de exemplo
- Eventos do Armazenamento de Blobs do Azure
- Evento de ambiente de trabalho do Fabric