Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo mostra-lhe como adicionar uma fonte Oracle Database Change Data Capture (CDC) a um fluxo de eventos.
O conector de origem Oracle Database CDC para o eventstream do Microsoft Fabric permite-lhe capturar um instantâneo do estado atual dos dados numa base de dados Oracle. Em seguida, o conector observa e regista quaisquer alterações futuras ao nível de linha nesses dados. Depois de as alterações serem capturadas no fluxo de eventos, pode processar estes dados CDC em tempo real e enviá-los para diferentes destinos dentro do Fabric para processamento ou análise posterior. O conector suporta bases de dados Oracle, quer sejam on-premises como na cloud.
Pré-requisitos
- Acesso a um espaço de trabalho no modo de licença de capacidade do Fabric ou no modo de licença experimental, com permissões de Contribuidor ou superiores.
- Um servidor de base de dados Oracle a correr (local ou alojado na cloud).
- A tua base de dados Oracle deve ser acessível publicamente e não estar atrás de um firewall ou protegida numa rede virtual. Se residir numa rede protegida, conecte-se a ela usando a injeção virtual de rede do conector Eventstream.
- Oracle LogMiner ativado na sua base de dados para captura de dados CDC.
- Um utilizador de base de dados com as permissões necessárias para operações CDC.
- Se você não tiver um eventstream, crie um eventstream.
Versões Oracle suportadas
O conector Oracle Database CDC suporta as seguintes versões da base de dados Oracle:
- Oracle Database 12c (12.1) e posteriores
- Oracle Database 19c
- Oracle Database 21c
- Banco de dados autônomo Oracle
Ative o CDC na sua base de dados Oracle
Para capturar dados de alterações do Oracle, é necessário ativar o registo suplementar e configurar o LogMiner.
Permitir registo suplementar
Liga-te à tua base de dados Oracle como utilizador com privilégios de DBA.
Ative o registo suplementar ao nível da base 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 registo suplementar está ativado:
SELECT SUPPLEMENTAL_LOG_DATA_MIN, SUPPLEMENTAL_LOG_DATA_ALL FROM V$DATABASE;A consulta deve ser retornada
YESpara ambas as colunas.
Ativar o modo archivelog
Para que o CDC funcione corretamente, a base de dados deve estar em modo ARCHIVELOG.
Verifique o modo atual de registo de arquivo:
SELECT LOG_MODE FROM V$DATABASE;Se ainda não estiver em modo ARCHIVELOG, ative-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;
Crie um utilizador CDC com os privilégios necessários
Crie um utilizador 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.
Inicie o assistente Selecionar uma fonte de dados
Se ainda não adicionaste nenhuma fonte ao teu event stream, seleciona o mosaico Connect data sources . Também pode selecionar Adicionar fonte>Conectar fontes de dados na fita.
Se estiveres a adicionar a fonte a um fluxo de eventos já publicado, muda para o modo Editar. Na fita, selecione Adicionar fonte>Ligar fontes de dados.
Na página Selecionar uma fonte de dados, procure e selecione Ligar no mosaico Oracle DB (CDC).
Configurar e ligar-se à Oracle Database CDC
Na página Ligação, em Servidor, introduza o seu endpoint Oracle.
Pode fornecer apenas o nome do anfitrião, ou incluir host, porta e serviço/SID num único valor. Por exemplo:
your-oracle-host.example.com:1521/ORCL.Em Credenciais de Ligação, selecione uma ligação existente ou crie uma nova:
- Para criar uma nova ligação, selecione Nova ligação e introduza:
- Nome da ligação: Um nome para esta ligação.
- Nome de utilizador: O utilizador da base de dados Oracle com permissões CDC.
- Palavra-passe: A palavra-passe do utilizador da base de dados.
- Para criar uma nova ligação, selecione Nova ligação e introduza:
Selecione Conectar.
Depois de estabelecida a ligação, escolha as tabelas a capturar selecionando Todas as tabelas ou Introduzir nome(s) das tabelas. Se escolher Introduzir nome(s) de tabela(s), introduza uma lista opcional separada por vírgulas de identificadores completos de tabela (
schemaName.tableName) para que as tabelas da base de dados Oracle monitorizem.Pode expandir as definições avançadas para aceder a mais opções de configuração para a fonte do Oracle Database CDC:
-
Modo de bloqueio instantâneo: Controla se e durante quanto tempo o conector mantém um bloqueio de mesa. Os bloqueios de tabela impedem que certos tipos de operações de tabela ocorram enquanto o conector realiza um snapshot.
-
Shared(predefinição): Permite o acesso concorrente à tabela, mas impede que qualquer sessão adquira um bloqueio exclusivo sobre a tabela. O conector adquire um bloqueio de nível ROW SHARE enquanto captura o esquema da tabela. -
None: Impede que o conector adquira quaisquer bloqueios nas tabelas durante o instantâneo. Use esta definição apenas se não ocorrerem alterações no esquema durante a criação do snapshot.
-
-
Modo de tratamento decimal: Especifica como o conector deve tratar valores de ponto flutuante para
NUMBER,DECIMAL, eNUMERICcolunas. Você pode definir uma das seguintes opções:-
Precise(por defeito): Representa valores com precisão, utilizando valoresjava.math.BigDecimalrepresentados em eventos de alteração em formato binário. -
Double: Representa valores usando valores duplos. Usar valores duplos é mais fácil, mas pode resultar numa perda de precisão. -
String: Codifica valores como cadeias de caracteres formatadas. Usar estaStringopção é mais fácil de consumir, mas resulta numa perda de informação semântica sobre o tipo real.
-
-
Modo snapshot: Especifica o modo que o conector utiliza para tirar snapshots de uma tabela capturada.
-
Initial(predefinido): O instantâneo inclui a estrutura e os dados das tabelas capturadas. Especifique este valor para preencher os tópicos com uma representação completa dos dados das tabelas capturadas. Se o snapshot for concluído com sucesso, o conector não volta a executar o snapshot no início seguinte. -
InitialOnly: O instantâneo inclui a estrutura e os dados das tabelas capturadas. O conector realiza um snapshot inicial e depois para, sem processar quaisquer alterações subsequentes. -
NoData: O instantâneo inclui apenas a estrutura das tabelas capturadas. Especifique este valor se quiser que o conector capture os dados apenas relativos a alterações que ocorram após o instantâneo.
-
-
Modo de bloqueio instantâneo: Controla se e durante quanto tempo o conector mantém um bloqueio de mesa. Os bloqueios de tabela impedem que certos tipos de operações de tabela ocorram enquanto o conector realiza um snapshot.
Selecione Seguinte para continuar.
Em Rever e ligar, reveja as suas definições.
Selecione Adicionar (Eventstream) ou Ligar (Real-Time hub).
Ver fluxo de eventos atualizado
Pode ver a fonte Oracle Database CDC adicionada ao seu fluxo de eventos no modo Editar.
Para implementar esta fonte recentemente adicionada do Oracle Database CDC, selecione Publicar. Depois de completar estes passos, a sua fonte Oracle Database CDC fica disponível para visualização na visualização em direto.
Conteúdo relacionado
Outros conectores:
- Fluxos de Dados Amazon Kinesis
- Azure Cosmos DB
- Hubs de Eventos do Azure
- Azure Service Bus
- Hub IoT do Azure
- Captura de Dados de Alteração do Banco de Dados SQL do Azure (CDC)
- Confluent Kafka
- Ponto de extremidade personalizado
- Google Cloud Pub/Sub
- Banco de dados MySQL CDC
- Banco de Dados PostgreSQL CDC
- Dados de exemplo
- Eventos do Armazenamento de Blobs do Azure
- Evento do espaço de trabalho Fabric