Aggiungere un'origine Oracle Database CDC a un flusso di eventi (anteprima)

Questo articolo illustra come aggiungere un'origine Oracle Database Change Data Capture (CDC) a un flusso di eventi.

Il connettore di origine Oracle Database CDC per Microsoft Fabric eventstream consente di acquisire uno snapshot dei dati correnti in un database Oracle. Il connettore monitora e registra poi eventuali modifiche future a livello di riga a questi dati. Dopo aver acquisito le modifiche nel flusso di eventi, è possibile elaborare questi dati CDC in tempo reale e inviarli a destinazioni diverse all'interno di Fabric per ulteriori elaborazioni o analisi. Il connettore supporta i database Oracle, sia in locale che nel cloud.

Prerequisites

  • Accesso a un'area di lavoro in modalità di licenza della capacità Fabric o alla modalità di licenza Trial con autorizzazioni di Collaboratore o superiori.
  • Un server di database Oracle in esecuzione (locale o ospitato nel cloud).
  • Il database Oracle deve essere accessibile pubblicamente e non protetto da un firewall o protetto in una rete virtuale. Se si trova in una rete protetta, connettersi utilizzando il connettore Eventstream per l'inserimento della rete virtuale.
  • Oracle LogMiner abilitato nel database per l'acquisizione CDC.
  • Un utente del database con le autorizzazioni necessarie per le operazioni CDC.

Versioni di Oracle supportate

Il connettore Oracle Database CDC supporta le versioni di database Oracle seguenti:

  • Oracle Database 12c (12.1) e versioni successive
  • Oracle Database 19c
  • Oracle Database 21c
  • Oracle Autonomous Database

Abilitare CDC nel database Oracle

Per acquisire i dati delle modifiche da Oracle, è necessario abilitare la registrazione supplementare e configurare LogMiner.

Abilitare la registrazione supplementare

  1. Connettersi al database Oracle come utente con privilegi DBA.

  2. Abilitare la registrazione supplementare a livello di database eseguendo i comandi SQL seguenti:

    -- 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;
    
  3. Verificare che la registrazione supplementare sia abilitata:

    SELECT SUPPLEMENTAL_LOG_DATA_MIN, SUPPLEMENTAL_LOG_DATA_ALL FROM V$DATABASE;
    

    La query deve restituire YES per entrambe le colonne.

Abilitare la modalità ARCHIVELOG

Affinché CDC funzioni correttamente, il database deve essere in modalità ARCHIVELOG.

  1. Controllare la modalità di log dell'archivio corrente:

    SELECT LOG_MODE FROM V$DATABASE;
    
  2. Se non è già in modalità ARCHIVELOG, abilitarlo:

    -- Shut down the database
    SHUTDOWN IMMEDIATE;
    
    -- Start in mount mode
    STARTUP MOUNT;
    
    -- Enable archivelog mode
    ALTER DATABASE ARCHIVELOG;
    
    -- Open the database
    ALTER DATABASE OPEN;
    

Creare un utente CDC con privilegi necessari

Creare un utente dedicato per il connettore CDC con le autorizzazioni necessarie:

-- 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;

Sostituire <your_password>, <schema> e <table_name> con i valori effettivi.

Avviare la procedura guidata Selezionare un'origine dati

Se non è ancora stata aggiunta alcuna origine al flusso di eventi, selezionare il riquadro Connetti origini dati . È anche possibile selezionare Aggiungi origine>Connetti origini dati sulla barra multifunzione.

Screenshot che mostra la selezione del tile per usare un'origine esterna.

Se stai aggiungendo la sorgente a un flusso di eventi già pubblicato, passa alla modalità Modifica. Sulla barra multifunzione selezionare Aggiungi origine>Connetti origini dati.

Screenshot che mostra le selezioni per l'aggiunta di fonti esterne.

Nella pagina Selezionare un'origine dati cercare e selezionare Connetti nel riquadro Oracle DB (CDC).

Schermata che mostra la selezione di Oracle Database (CDC) come tipo di origine nella procedura guidata

Configurare e connettersi a Oracle Database CDC

  1. Nella pagina Connetti immettere l'endpoint Oracle in Server.

    È possibile specificare solo il nome host o includere host, porta e servizio/SID in un singolo valore. Ad esempio: your-oracle-host.example.com:1521/ORCL.

  2. In Credenziali di connessione selezionare una connessione esistente o crearne una nuova:

    • Per creare una nuova connessione, selezionare Nuova connessione e immettere:
      • Nome connessione: nome della connessione.
      • Nome utente: l'utente del database Oracle con autorizzazioni CDC.
      • Password: password per l'utente del database.
  3. Selezionare Connetti.

    Screenshot della nuova pagina di connessione.

  4. Dopo aver stabilito la connessione, scegliere le tabelle da acquisire selezionando Tutte le tabelle o Immettere i nomi della tabella. Se si sceglie Immetti nomi di tabella, immettere un elenco facoltativo delimitato da virgole di identificatori di tabella completi (schemaName.tableName) per le tabelle di database Oracle da monitorare.

  5. È possibile espandere Impostazioni avanzate per accedere ad altre opzioni di configurazione per l'origine Oracle Database CDC:

    • Modalità di blocco dello snapshot: controlla se e per quanto tempo il connettore mantiene un blocco della tabella. I blocchi di tabella impediscono che si verifichino determinati tipi di operazioni di tabella mentre il connettore esegue uno snapshot.
      • Shared (impostazione predefinita): abilita l'accesso simultaneo alla tabella, ma impedisce a qualsiasi sessione di acquisire un blocco di tabella esclusivo. Il connettore acquisisce un lock di livello ROW SHARE durante il rilevamento dello schema della tabella.
      • None: impedisce al connettore di acquisire blocchi sulle tabelle durante lo snapshot. Usare questa impostazione solo se non si verificano modifiche allo schema durante la creazione dello snapshot.
    • Modalità di gestione decimale: specifica come il connettore deve gestire i valori a virgola mobile per NUMBERle colonne , DECIMALe NUMERIC . È possibile impostare una delle opzioni seguenti:
      • Precise (impostazione predefinita): rappresenta i valori con precisione usando java.math.BigDecimal i valori rappresentati negli eventi di modifica in formato binario.
      • Double: rappresenta i valori utilizzando valori double. L'uso di valori double è più semplice, ma può comportare una perdita di precisione.
      • String: codifica i valori come stringhe formattate. L'uso dell'opzione String è più semplice da utilizzare, ma comporta una perdita di informazioni semantiche sul tipo reale.
    • Modalità snapshot: specifica la modalità usata dal connettore per acquisire snapshot di una tabella acquisita.
      • Initial (impostazione predefinita): l'istantanea comprende la struttura e i dati delle tabelle acquisite. Specificare questo valore per popolare gli argomenti con una rappresentazione completa dei dati delle tabelle acquisite. Se lo snapshot viene completato correttamente, il connettore non esegue di nuovo lo snapshot all'avvio successivo.
      • InitialOnly: L'istantanea include la struttura e i dati delle tabelle acquisite. Il connettore esegue uno snapshot iniziale e quindi si arresta, senza elaborare le modifiche successive.
      • NoData: Lo snapshot include solo la struttura delle tabelle acquisite. Specificare questo valore se si vuole che il connettore acquisisca i dati solo per le modifiche che si verificano dopo lo snapshot.
  6. Seleziona Avanti per continuare.

    Schermata della pagina delle impostazioni avanzate dell’origine Oracle CDC.

  7. In Rivedi e connetti esaminare le impostazioni.

  8. Selezionare Aggiungi (Eventstream) o Connetti (hubReal-Time).

    Screenshot della pagina Di revisione e connessione dell'origine Oracle CDC.

Visualizzare il flusso di eventi aggiornato

  1. È possibile visualizzare l'origine Oracle Database CDC aggiunta al flusso di eventi nell'modalità di modifica.

    Screenshot dello streaming dell'origine Oracle Database CDC nella visualizzazione Modifica.

  2. Per configurare questa nuova origine dati Oracle Database CDC, selezionare Pubblica. Dopo aver completato questi passaggi, l'origine CDC di Oracle Database è disponibile nella Live view.

    Screenshot dello streaming dell'origine Oracle Database CDC nella visualizzazione live.

Altri connettori: