Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird gezeigt, wie Sie einem Eventstream eine Oracle Database Change Data Capture (CDC)-Quelle hinzufügen.
Mit dem Oracle Database CDC-Quellkonnektor für Microsoft Fabric Eventstream können Sie eine Momentaufnahme der aktuellen Daten in einer Oracle-Datenbank erfassen. Künftige Änderungen an diesen Daten auf Zeilenebene werden dann vom Konnektor überwacht und aufgezeichnet. Nachdem die Änderungen im Ereignisstream erfasst wurden, können Sie diese CDC-Daten in Echtzeit verarbeiten und an verschiedene Ziele innerhalb Fabric zur weiteren Verarbeitung oder Analyse senden. Der Connector unterstützt Oracle-Datenbanken, unabhängig davon, ob sie lokal oder in der Cloud sind.
Voraussetzungen
- Zugriff auf einen Arbeitsbereich im Fabric-Kapazitäts-Lizenzmodus oder im Testlizenzmodus, wenn Mitwirkende- oder höhere Berechtigungen vorliegen.
- Ein ausgeführter Oracle-Datenbankserver (lokal oder in der Cloud gehostet).
- Ihre Oracle-Datenbank sollte öffentlich zugänglich und weder hinter einer Firewall noch durch ein virtuelles Netzwerk geschützt sein. Wenn es sich in einem geschützten Netzwerk befindet, stellen Sie mithilfe der Eventstream Connector virtual network Injection eine Verbindung mit ihr her.
- Oracle LogMiner ist in Ihrer Datenbank für die CDC-Aufnahme aktiviert.
- Ein Datenbankbenutzer mit den erforderlichen Berechtigungen für CDC-Vorgänge.
- Wenn Sie keinen Eventstream haben, erstellen Sie einen Eventstream.
Unterstützte Oracle-Versionen
Der Oracle Database CDC-Connector unterstützt die folgenden Oracle-Datenbankversionen:
- Oracle Database 12c (12.1) und höher
- Oracle Database 19c
- Oracle Database 21c
- Oracle Autonomous Database
Aktivieren von CDC in Ihrer Oracle-Datenbank
Um Änderungsdaten aus Oracle zu erfassen, müssen Sie die ergänzende Protokollierung aktivieren und LogMiner konfigurieren.
Zusätzliche Protokollierung aktivieren
Stellen Sie eine Verbindung mit Ihrer Oracle-Datenbank als Benutzer mit DBA-Berechtigungen her.
Aktivieren Sie die zusätzliche Protokollierung auf Datenbankebene, indem Sie die folgenden SQL-Befehle ausführen:
-- 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;Überprüfen Sie, ob die zusätzliche Protokollierung aktiviert ist:
SELECT SUPPLEMENTAL_LOG_DATA_MIN, SUPPLEMENTAL_LOG_DATA_ALL FROM V$DATABASE;Die Abfrage sollte für beide Spalten
YESzurückgeben.
Archivprotokollmodus aktivieren
Damit CDC ordnungsgemäß funktioniert, muss sich die Datenbank im ARCHIVLOG-Modus befinden.
Überprüfen Sie den aktuellen Archivprotokollmodus:
SELECT LOG_MODE FROM V$DATABASE;Wenn sie noch nicht im ARCHIVLOG-Modus vorhanden ist, aktivieren Sie sie:
-- Shut down the database SHUTDOWN IMMEDIATE; -- Start in mount mode STARTUP MOUNT; -- Enable archivelog mode ALTER DATABASE ARCHIVELOG; -- Open the database ALTER DATABASE OPEN;
Erstellen eines CDC-Benutzers mit erforderlichen Berechtigungen
Erstellen Sie einen dedizierten Benutzer für den CDC-Connector mit den erforderlichen Berechtigungen:
-- 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;
Ersetzen Sie <your_password>, <schema> und <table_name> durch Ihre tatsächlichen Werte.
Starten Sie den Assistenten zum Auswählen einer Datenquelle
Wenn Sie Ihrem Eventstream noch keine Quelle hinzugefügt haben, wählen Sie die Kachel "Datenquellen verbinden" aus . Sie können auch "Quelle hinzufügen"> und "Datenquellen verbinden" auf dem "Ribbon" auswählen.
Wenn Sie die Quelle zu einem bereits veröffentlichten Ereignisstream hinzufügen, wechseln Sie zum Bearbeitungsmodus . Wählen Sie im Menüband "Quelle hinzufügen; Datenquellen verbinden" aus.
Suchen Sie auf der Seite "Datenquelle auswählen" auf der Kachel "Oracle DB (CDC)" nach "Verbinden", und wählen Sie "Verbinden" aus.
Konfigurieren und Herstellen einer Verbindung mit Oracle Database CDC
Geben Sie auf der Seite "Verbinden " in Server Ihren Oracle-Endpunkt ein.
Sie können nur den Hostnamen angeben oder Host, Port und Dienst/SID in einen einzelnen Wert einschließen. Beispiel:
your-oracle-host.example.com:1521/ORCL.Wählen Sie unter "Verbindungsanmeldeinformationen" eine vorhandene Verbindung aus, oder erstellen Sie eine neue Verbindung:
- Um eine neue Verbindung zu erstellen, wählen Sie "Neue Verbindung " aus, und geben Sie Folgendes ein:
- Verbindungsname: Ein Name für diese Verbindung.
- Benutzername: Der Oracle-Datenbankbenutzer mit CDC-Berechtigungen.
- Kennwort: Das Kennwort für den Datenbankbenutzer.
- Um eine neue Verbindung zu erstellen, wählen Sie "Neue Verbindung " aus, und geben Sie Folgendes ein:
Wählen Sie Verbinden aus.
Nachdem die Verbindung hergestellt wurde, wählen Sie die zu erfassenden Tabellen aus, indem Sie "Alle Tabellen" oder " Tabellennamen eingeben" auswählen. Wenn Sie "Tabellennamen eingeben" auswählen, geben Sie eine optionale durch Trennzeichen getrennte Liste mit vollständigen Tabellenbezeichnern (
schemaName.tableName) für die zu überwachenden Oracle-Datenbanktabellen ein.Sie können erweiterte Einstellungen erweitern, um auf weitere Konfigurationsoptionen für die Oracle Database CDC-Quelle zuzugreifen:
-
Snapshot-Sperrmodus: Steuert, ob und wie lange der Connector eine Tabellensperre aufrechterhält. Tabellensperren verhindern, dass bestimmte Arten von Tabellenvorgängen ausgeführt werden, während der Konnektor eine Momentaufnahme erstellt.
-
Shared(Standard): Ermöglicht gleichzeitigen Zugriff auf die Tabelle, verhindert jedoch, dass eine Sitzung eine exklusive Tabellensperre erhält. Der Konnektor setzt eine Sperre auf ROW-SHARE-Ebene, während er das Tabellenschema erfasst. -
None: Verhindert, dass der Konnektor während des Snapshots keine Tabellensperren bezieht. Verwenden Sie diese Einstellung nur, wenn während der Erstellung von Momentaufnahmen keine Schemaänderungen vorgenommen werden können.
-
-
Dezimalbehandlungsmodus: Gibt an, wie der Verbinder Gleitkommawerte für
NUMBER,DECIMALundNUMERICSpalten behandeln soll. Sie können eine der folgenden Optionen festlegen:-
Precise(Standard): Stellt Werte präzise dar, indemjava.math.BigDecimalWerte verwendet werden, die in Änderungsereignissen in Binärform dargestellt werden. -
Double: Stellt Werte mithilfe von doppelten Werten dar. Die Verwendung doppelter Werte ist einfacher, kann aber zu einem Genauigkeitsverlust führen. -
String: Codiert Werte als formatierte Zeichenfolgen. Die Verwendung derStringOption ist einfacher zu verwenden, führt jedoch zu einem Verlust semantischer Informationen über den tatsächlichen Typ.
-
-
Momentaufnahmemodus: Gibt den Modus an, den der Connector zum Erstellen von Momentaufnahmen einer erfassten Tabelle verwendet.
-
Initial(Standard): Die Momentaufnahme enthält die Struktur und Daten der erfassten Tabellen. Geben Sie diesen Wert an, um Themen mit einer vollständigen Darstellung der Daten aus den erfassten Tabellen aufzufüllen. Wenn der Snapshot erfolgreich abgeschlossen wurde, führt der Connector den Snapshot beim nächsten Start nicht erneut durch. -
InitialOnly: Der Snapshot enthält die Struktur und die Daten der erfassten Tabellen. Der Konnektor führt eine erste Momentaufnahme durch und hält anschließend an, ohne spätere Änderungen zu verarbeiten. -
NoData: Die Momentaufnahme enthält nur die Struktur der erfassten Tabellen. Geben Sie diesen Wert an, wenn der Connector Daten nur für Änderungen erfassen soll, die nach der Momentaufnahme auftreten.
-
-
Snapshot-Sperrmodus: Steuert, ob und wie lange der Connector eine Tabellensperre aufrechterhält. Tabellensperren verhindern, dass bestimmte Arten von Tabellenvorgängen ausgeführt werden, während der Konnektor eine Momentaufnahme erstellt.
Klicken Sie auf Weiter, um fortzufahren.
Überprüfen Sie bei "Überprüfen+ Verbinden" Ihre Einstellungen.
Wählen Sie Add (Eventstream) oder Connect (Real-Time Hub) aus.
Aktualisierten Ereignisstream anzeigen
Sie können die Oracle Database CDC-Quelle sehen, die Ihrem Eventstream im Bearbeitungsmodus hinzugefügt wurde.
Um diese neu hinzugefügte Oracle Database CDC-Quelle zu implementieren, wählen Sie "Veröffentlichen" aus. Nachdem Sie diese Schritte ausgeführt haben, steht Ihre Oracle Database CDC-Quelle für die Visualisierung in der Liveansicht zur Verfügung.
Verwandte Inhalte
Andere Konnektoren:
- Amazon Kinesis Data Streams
- Azure Cosmos DB
- Azure Event Hubs
- Azure Service Bus
- Azure IoT Hub
- Azure SQL-Datenbank Änderungsdatenerfassung (CDC)
- Confluent Kafka
- Benutzerdefinierter Endpunkt
- Google Cloud Pub/Sub
- MySQL Datenbank CDC
- PostgreSQL Datenbank CDC
- Beispieldaten
- Azure Blob Storage-Ereignisse
- Fabric Workspace-Ereignis