Legg til Oracle Database CDC-kildekode i en hendelsesstrøm (forhåndsvisning)

Denne artikkelen viser deg hvordan du legger til en Oracle Database Change Data Capture (CDC)-kilde i en hendelsesstrøm.

Oracle Database CDC-kildekoblingen for Microsoft Fabric eventstream lar deg ta et øyeblikksbilde av nåværende data i en Oracle-database. Koblingen overvåker og registrerer deretter eventuelle fremtidige endringer på radnivå i disse dataene. Etter at endringene er fanget opp i hendelsesstrømmen, kan du behandle disse CDC-dataene i sanntid og sende dem til ulike destinasjoner i Fabric for videre behandling eller analyse. Koblingen støtter Oracle-databaser enten de er lokalt eller i skyen.

Forutsetninger

  • Tilgang til et arbeidsområde i Fabric-kapasitetslisensmodus eller prøvelisensmodus med Bidragsyter eller høyere tillatelser.
  • En kjørende Oracle-databaseserver (lokalt eller skyhostet).
  • Oracle-databasen din bør være offentlig tilgjengelig og ikke bak en brannmur eller sikret i et virtuelt nettverk. Hvis den befinner seg i et beskyttet nettverk, koble til den ved å bruke Eventstream connector virtuell nettverksinjeksjon.
  • Oracle LogMiner aktivert på databasen din for CDC-opptak.
  • En databasebruker med nødvendige tillatelser for CDC-operasjoner.

Støttede Oracle-versjoner

Oracle Database CDC-kontakten støtter følgende Oracle-databaseversjoner:

  • Oracle Database 12c (12.1) og senere
  • Oracle Database 19c
  • Oracle Database 21c
  • Oracle autonom database

Aktiver CDC i Oracle-databasen din

For å fange endringsdata fra Oracle må du aktivere supplerende logging og konfigurere LogMiner.

Aktiver supplerende loggføring

  1. Koble til Oracle-databasen din som bruker med DBA-rettigheter.

  2. Aktiver supplerende logging på databasenivå ved å kjøre følgende SQL-kommandoer:

    -- 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. Verifiser at supplerende logging er aktivert:

    SELECT SUPPLEMENTAL_LOG_DATA_MIN, SUPPLEMENTAL_LOG_DATA_ALL FROM V$DATABASE;
    

    Spørringen skal returnere YES for begge kolonnene.

Aktiver arkivelog-modus

For at CDC skal fungere riktig, må databasen være i ARCHIVELOG-modus.

  1. Sjekk den nåværende arkivloggmodusen:

    SELECT LOG_MODE FROM V$DATABASE;
    
  2. Hvis du ikke allerede er i ARCHIVELOG-modus, aktiver den:

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

Opprett en CDC-bruker med nødvendige rettigheter

Opprett en dedikert bruker for CDC-kontakten med nødvendige tillatelser:

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

Erstatt <your_password>, <schema>, og <table_name> med dine faktiske verdier.

Starte veiviseren Velg en datakilde

Hvis du ikke har lagt til noen kilde i hendelsesstrømmen ennå, velg flisen Connect data sources . Du kan også velge Add source>Connect datakilder på båndet.

Skjermbilde som viser valget av flisen for å bruke en ekstern kilde.

Hvis du legger til kilden i en allerede publisert hendelsesstrøm, bytt til Rediger-modus . På båndet, velg Legg til kilde>Connect datakilder.

Skjermbilde som viser valg for å legge til eksterne kilder.

På siden Velg en datakilde , søk etter og velg ConnectOracle DB (CDC) -flisen.

Skjermbilde som viser valget av Oracle Database (CDC) som kildetype i Hent hendelsesguiden.

Konfigurer og koble til Oracle Database CDC

  1. Connect-siden , i Server, skriv inn Oracle-endepunktet ditt.

    Du kan kun oppgi vertsnavnet, eller inkludere vert, port og tjeneste/SID i én og samme verdi. Eksempel: your-oracle-host.example.com:1521/ORCL.

  2. Under Tilkoblingsopplysninger, velg en eksisterende tilkobling eller opprett en ny:

    • For å opprette en ny tilkobling, velg Ny tilkobling og skriv inn:
      • Tilkoblingsnavn: Et navn for denne forbindelsen.
      • Brukernavn: Oracle-databasebrukeren med CDC-tillatelser.
      • Passord: Passordet til databasebrukeren.
  3. Velg Koble til.

    Skjermbilde av den nye tilkoblingssiden.

  4. Etter at forbindelsen er etablert, velg tabellene som skal fanges ved å velge Alle tabeller eller Skriv inn tabellnavn(er). Hvis du velger Skriv inn tabellnavn(er), skriv inn en valgfri komma-separert liste med fullstendige tabellidentifikatorer (schemaName.tableName) for Oracle-databasetabellene å overvåke.

  5. Du kan utvide avanserte innstillinger for å få tilgang til flere konfigurasjonsalternativer for Oracle Database CDC-kilden:

    • Snapshot lock-modus: Styrer om og hvor lenge kontakten holder en bordlås. Tabelllåser forhindrer at visse typer tabelloperasjoner skjer mens koblingen utfører et øyeblikksbilde.
      • Shared (standard): Muliggjør samtidig tilgang til tabellen, men forhindrer at noen økt får en eksklusiv tabelllås. Koblingen får en ROW SHARE-nivålås mens den fanger opp tabellskjemaet.
      • None: Forhindrer at kontakten får noen bordlåser under snapshot. Bruk denne innstillingen kun hvis ingen skjemaendringer kan skje under opprettelsen av snapshot.
    • Desimalhåndteringsmodus: Spesifiserer hvordan koblingen skal håndtere flyttallsverdier for NUMBER, DECIMAL, og NUMERIC kolonner. Du kan sette ett av følgende alternativer:
      • Precise (standard): Representerer verdier presist ved å bruke java.math.BigDecimal verdier representert i endringshendelser i binær form.
      • Double: Representerer verdier ved å bruke doble verdier. Å bruke doble verdier er enklere, men kan føre til tap av presisjon.
      • String: Koder verdier som formaterte strenger. Å bruke String alternativet er lettere å konsumere, men resulterer i tap av semantisk informasjon om den virkelige typen.
    • Snapshot-modus: Spesifiserer modusen som kontakten bruker for å ta snapshots av et fanget bord.
      • Initial (standard): Øyeblikksbildet inkluderer strukturen og dataene til de fangede tabellene. Spesifiser denne verdien for å fylle temaene med en komplett representasjon av dataene fra de fangede tabellene. Hvis øyeblikksbildet fullføres vellykket, kjører ikke kontakten øyeblikksbildet igjen ved neste start.
      • InitialOnly: Øyeblikksbildet inkluderer strukturen og dataene til de fangede tabellene. Koblingen utfører et innledende øyeblikksbilde og stopper deretter, uten å behandle noen påfølgende endringer.
      • NoData: Øyeblikksbildet inkluderer kun strukturen til fangede tabeller. Spesifiser denne verdien hvis du vil at koblingen kun skal fange data for endringer som skjer etter snapshot.
  6. Velg Neste for å fortsette.

    Skjermbilde av Oracle CDC-kildens Avanserte innstillinger-side.

  7. Revisjon + Koble til, gå gjennom innstillingene dine.

  8. Velg Legg til (Eventstream) eller Koble til (Real-Time hub).

    Skjermbilde av Oracle CDC-kilden Review + connect-siden.

Vis oppdatert hendelsesstrøm

  1. Du kan se Oracle Database CDC-kilden lagt til hendelsesstrømmen din i redigeringsmodus.

    Skjermbilde av strømmende Oracle Database CDC-kildekode i Rediger-visning.

  2. For å implementere denne nylig tilførte Oracle Database CDC-kilden, velg Publiser. Etter at du har fullført disse trinnene, er din Oracle Database CDC-kilde tilgjengelig for visualisering i Live-visningen.

    Skjermbilde av strømmende Oracle Database CDC-kilde i Live View.

Andre koblinger: