Lisää Oracle Database CDC-lähdekoodi tapahtumavirtaan (esikatselu)

Tässä artikkelissa näytetään, miten Oracle Database Change Data Capture (CDC) -lähdekoodi lisätään tapahtumavirtaan.

Oracle Database CDC:n lähdeliitin Microsoft Fabric eventstreamille mahdollistaa tilannekuvan ottamisen nykyisestä datasta Oracle-tietokannassa. Liitin valvoo ja kirjaa mahdolliset tulevat rivitason muutokset näihin tietoihin. Kun muutokset on tallennettu tapahtumavirtaan, voit käsitellä tätä CDC-dataa reaaliajassa ja lähettää sen eri kohteisiin Fabric-sivustolla jatkokäsittelyä tai analysointia varten. Liitin tukee Oracle-tietokantoja, olivatpa ne paikallisia tai pilvessä.

Edellytykset

  • Pääsy työtilaan Fabric-kapasiteetin lisenssitilassa tai kokeilulisenssitilassa, jossa on Contributor tai korkeammat oikeudet.
  • Toimiva Oracle-tietokantapalvelin (paikan päällä tai pilvipalvelussa).
  • Oracle-tietokantasi tulisi olla julkisesti saatavilla, ei palomuurin takana tai suojattu virtuaaliverkossa. Jos se sijaitsee suojatussa verkossa, yhdistä siihen käyttämällä Eventstream-liittimen virtuaaliverkkoinjektiota.
  • Oracle LogMiner käytössä tietokannassasi CDC:n kaappausta varten.
  • Tietokantakäyttäjä, jolla on tarvittavat oikeudet CDC-toimintoihin.

Tuetut Oracle-versiot

Oracle Database CDC-liitin tukee seuraavia Oracle-tietokantaversioita:

  • Oracle Database 12c (12.1) ja uudemmat
  • Oracle Database 19c
  • Oracle Database 21c
  • Oraclen autonominen tietokanta

Ota CDC käyttöön Oracle-tietokannassasi

Muutostietojen keräämiseksi Oraclesta sinun täytyy ottaa käyttöön lisälokitus ja konfiguroida LogMiner.

Ota lisälokitus käyttöön

  1. Yhdistä Oracle-tietokantaasi käyttäjänä, jolla on DBA-oikeudet.

  2. Ota lisälokitus käyttöön tietokantatasolla suorittamalla seuraavat SQL-komennot:

    -- 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. Varmista, että lisälokitus on käytössä:

    SELECT SUPPLEMENTAL_LOG_DATA_MIN, SUPPLEMENTAL_LOG_DATA_ALL FROM V$DATABASE;
    

    Kyselyn pitäisi palata YES molempiin sarakkeisiin.

Ota arkistologitila käyttöön

Jotta CDC toimisi oikein, tietokannan täytyy olla ARCHIVELOG-tilassa.

  1. Tarkista nykyinen arkistologitila:

    SELECT LOG_MODE FROM V$DATABASE;
    
  2. Jos et ole vielä ARCHIVELOG-tilassa, ota se käyttöön:

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

Luo CDC-käyttäjä, jolla on vaaditut oikeudet

Luo CDC-liittimelle oma käyttäjä tarvittavilla käyttöoikeuksilla:

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

Korvaa <your_password>, <schema>, ja <table_name> todellisilla arvoillasi.

Käynnistä ohjattu Tietolähteen valitseminen -toiminto

Jos et ole vielä lisännyt lähdettä tapahtumavirtaasi, valitse Yhdistä tietolähteet -ruutu. Voit myös valita Lisää lähde>Yhdistä tietolähteet nauhalla.

Kuvakaappaus, joka näyttää laatan valinnan ulkoisen lähteen käyttöön.

Jos lisäät lähdekoodin jo julkaistuun tapahtumavirtaan, vaihda muokkaustilaan . Nauhalta valitse Lisää lähde>Yhdistä tietolähteet.

Kuvakaappaus, joka näyttää vaihtoehtoja ulkoisten lähteiden lisäämiseen.

Valitse tietolähde -sivulla etsi ja valitse Yhdistä Oracle DB (CDC) -ruudusta.

Kuvakaappaus, joka näyttää Oracle Databasen (CDC) valinnan lähdetyypiksi Get events -toimintojen käyttötarkoituksessa.

Määritä ja yhdistä Oracle Database CDC:hen

  1. Connect-sivulla, Serverissä, syötä Oracle-päätepisteesi.

    Voit antaa vain isäntänimen tai sisällyttää isännän, portin ja palvelun/SID:n yhteen arvoon. Esimerkki: your-oracle-host.example.com:1521/ORCL.

  2. Connection credentials -osiosta valitse olemassa oleva yhteys tai luo uusi:

    • Uuden yhteyden luomiseksi valitse Uusi yhteys ja syötä sisään:
      • Yhteyden nimi: Nimi tälle yhteydelle.
      • Käyttäjänimi: Oracle-tietokannan käyttäjä, jolla on CDC-oikeudet.
      • Salasana: Tietokannan käyttäjän salasana.
  3. Valitse Yhdistä.

    Kuvakaappaus uudesta yhteyssivusta.

  4. Kun yhteys on muodostettu, valitse tallennettavat taulukot valitsemalla Kaikki taulut tai Syötä taulukon nimet. Jos valitset Syötä taulun nimet, syötä valinnainen pilkulla erotettu lista täydellisistä taulutunnisteista (schemaName.tableName) Oracle-tietokantatauluja varten.

  5. Voit avata Lisäasetukset päästäksesi käsiksi lisää Oracle Database CDC:n konfiguraatiovaihtoehtoja:

    • Snapshot-lukitustila: Määrittää, pitääkö liitin pöydän lukon ja kuinka kauan. Taulukon lukot estävät tietyntyyppiset taulukkotoiminnot liittimen suorittaessa snapshotin.
      • Shared (oletus): Mahdollistaa samanaikaisen pääsyn taulukkoon, mutta estää minkään session saamasta yksinoikeudella taululukituksen. Liitin saa ROW SHARE -tason lukituksen samalla kun se tallentaa taulukkoskeemaa.
      • None: Estää liitintä saamasta taulukkolukkoja snapshotin aikana. Käytä tätä asetusta vain, jos skeemamuutoksia ei tapahdu snapshotin luomisen aikana.
    • Desimaalikäsittelytila: Määrittelee, miten liittimen tulee käsitellä liukulukuarvoja , NUMBERDECIMAL, ja NUMERIC sarakkeille. Voit asettaa jonkin seuraavista vaihtoehdoista:
      • Precise (oletuksena): Edustaa arvoja tarkasti käyttämällä java.math.BigDecimal muutostapahtumissa esitettyjä arvoja binäärimuodossa.
      • Double: Esittää arvot käyttämällä kaksoisarvoja. Kaksoisarvojen käyttö on helpompaa, mutta voi johtaa tarkkuuden heikkenemiseen.
      • String: Koodaa arvot muotoiltuina merkkijonoina. Vaihtoehdon String käyttäminen on helpompaa kuluttaa, mutta se johtaa semanttisen tiedon menetykseen todellisesta tyypistä.
    • Snapshot-tila: Määrittää tilan, jota liitin käyttää ottaakseen kaapatun taulukon snapshotteja.
      • Initial (oletuksena): Snapshot sisältää tallennettujen taulukoiden rakenteen ja tiedot. Määritä tämä arvo, jotta aiheet täyttyvät täydellisellä esityksellä kaapatuista tauluista saaduista tiedoista. Jos snapshotti onnistuu, liitin ei suorita snapshotia uudelleen seuraavassa aloituksessa.
      • InitialOnly: Tilannekuva sisältää tallennettujen taulukoiden rakenteen ja tiedot. Liitin suorittaa alkuperäisen snapshotin ja pysähtyy sitten käsittelemättä myöhempiä muutoksia.
      • NoData: Tilannekuva sisältää vain tallennettujen taulukoiden rakenteen. Määritä tämä arvo, jos haluat, että liitin kerää dataa vain muutoksista, jotka tapahtuvat snapshotin jälkeen.
  6. Jatka valitsemalla Seuraava.

    Kuvakaappaus Oracle CDC:n lähdekoodista Lisäasetukset -sivusta.

  7. Tarkista asetukset Review + Connect -tilassa.

  8. Valitse Add (Eventstream) tai Connect (Real-Time hub).

    Kuvakaappaus Oracle CDC Source Review + connect -sivusta.

Näytä päivitetty tapahtumavirta

  1. Voit nähdä Oracle Database CDC:n lähdekoodin lisätyksi tapahtumavirtaasi muokkaustilassa.

    Kuvakaappaus suoratoistosta Oracle Database CDC:n lähteestä muokkausnäkymässä.

  2. Toteuttaaksesi tämän vastikään lisätyn Oracle Database CDC:n lähdekoodin, valitse Julkaise. Kun olet suorittanut nämä vaiheet, Oracle Database CDC -lähdekoodisi on käytettävissä visualisointia varten Live-näkymässä.

    Kuvakaappaus suoratoistosta Oracle Database CDC -lähteestä live-näkymässä.

Muut liittimet: