Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zum Anmelden für einen kostenlosen Account finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Wenn Sie Ihre Übung abgeschlossen haben, ersetzen Sie diese Werte durch die Werte, die für Ihre Cloud-Umgebung spezifisch sind.
Daten mit Oracle GoldenGate und Oracle GoldenGate for Big Data mit verschiedenen Zielen streamen
Einführung
Oracle GoldenGate ist ein vollständig verwalteter Service, mit dem Data Engineers Daten in Echtzeit und in großem Umfang von einem oder mehreren Datenmanagementsystemen in Oracle Cloud-Datenbanken verschieben können. Sie können Datenreplikationsaufgaben in einer einzigen Schnittstelle entwerfen, ausführen, orchestrieren und überwachen, ohne Compute-Umgebungen zuweisen oder verwalten zu müssen.
Oracle GoldenGate for Big Data streamt Transaktionsdaten in Echtzeit in Big Data- und Cloud-Systeme, ohne die Performance der Quellsysteme zu beeinträchtigen. Es optimiert die Echtzeit-Datenbereitstellung in die gängigsten Big Data-Lösungen, einschließlich Apache Hadoop, Apache HBase, Apache Hive, Confluent Kafka, NoSQL-Datenbanken, Elasticsearch, JDBC, Oracle Cloud, Amazon Web Services, Microsoft Azure Cloud, Google Cloud Platform und Data Warehouses, um verbesserte Einblicke und zeitnahe Maßnahmen zu ermöglichen.
Der Oracle Cloud Infrastructure-(OCI-)Streaming-Service stellt eine vollständig verwaltete, skalierbare und dauerhafte Lösung zur Aufnahme und Nutzung von Datenstreams mit hohem Volumen in Echtzeit bereit. Verwenden Sie OCI Streaming für jeden Anwendungsfall, in dem kontinuierlich und sequenziell Daten in einem Publish-Subscribe-Messagingmodell erzeugt und verarbeitet werden.
In diesem Tutorial erfahren Sie, wie Sie Daten aus Oracle Autonomous Database in zwei verschiedene Ziele streamen, d.h. Oracle Autonomous Database und Oracle Streams-Thema.
Zielsetzung
-
zwei autonome Oracle-Datenbanken einrichten
-
In diesem Beispielszenario verfügt sourceDB über zwei Tabellen Banks und Operacoes, in denen Daten auf zwei verschiedene Ziele repliziert werden müssen.
-
Tabelle Banks wird in eine Oracle Autonomous Database-Zieldatenbank mit dem Namen targetDB repliziert
-
Tabelle Vorgänge werden in einem OCI Streaming-(kafka-)Thema mit nahezu Echtzeitstream repliziert
-
-
Richten Sie Oracle GoldenGate ein, um Daten aus der Quell- in die Zieldatenbank zu replizieren
-
Tabellen-DMLs aus der Quelldatenbank in einem Oracle Cloud Infrastructure-(OCI-)Streaming-(Kafka-kompatiblen) Zielthema veröffentlichen
Architektur
Wichtig: Diese Beispielarchitektur dient nur zu Lernzwecken und zur Vereinfachung dieser Architektur verwenden wir ein PUBLIC-Subnetz. Das bedeutet, dass dieses Subnetz nicht für Produktionsumgebungen oder echte Datenverarbeitung verwendet werden darf.
Für Produktionsumgebungen MÜSSEN Sie PRIVATE-Subnetze verwenden und alle hier beschriebenen Sicherheits-Best Practices anwenden: Oracle-Sicherheits-Best Practices)
Voraussetzungen
- Oracle Cloud-Account - Erste Schritte mit Oracle Cloud Infrastructure Free Tier
- Ein einfaches VCN (virtuelles Cloud-Netzwerk) mit zwei Subnetzen (öffentlich und privat)
Sie können dieses Tutorial befolgen, um ein brandneues VCN QuickStart-Networking zu erstellen - Grundlegende Konzepte von Oracle Database
- Grundkonzepte von Kafka Streaming
Aufgabe 1: Neues Compartment erstellen
-
Melden Sie sich bei Ihrem Oracle Cloud-Account an, klicken Sie oben links auf das Navigationsmenü, wählen Sie Identität und Sicherheit aus, und klicken Sie dann auf Compartments.
Aufgabe 2: Neue Oracle Autonomous Database mit dem Namen sourceDB erstellen
-
Klicken Sie auf das Navigationsmenü oben links, wählen Sie Oracle Database aus, und klicken Sie auf Autonomous Database.
-
Wählen Sie das im vorherigen Schritt erstellte Compartment streaming aus, und klicken Sie auf Autonomous Database erstellen.
-
Füllen Sie die Informationen wie in den folgenden Bildern dargestellt aus.
Hinweis: Notieren Sie sich das von Ihnen erstellte ADMIN-Kennwort.
Aufgabe 3: Neue Oracle Autonomous Database mit dem Namen targetDB erstellen
-
Klicken Sie auf das Navigationsmenü oben links, wählen Sie Oracle Database aus, und klicken Sie auf Autonomous Database.
-
Wählen Sie das Compartment aus, das im vorherigen Schritt für das Streaming erstellt wurde, und klicken Sie auf Autonomous Database erstellen.
-
Füllen Sie die Informationen wie in den folgenden Bildern dargestellt aus.
Hinweis: Notieren Sie sich das von Ihnen erstellte ADMIN-Kennwort.
Aufgabe 4: Neues Schema und neue Einstellungen für sourceDB erstellen
-
Gehen Sie zur Homepage von sourceDB, und klicken Sie auf Database Actions, um SQL-Befehle in der Datenbank auszuführen und Daten zu laden.
-
Laden Sie die Datei findata_schema.SQL herunter, kopieren Sie den Inhalt in das SQL-Ausführungsfenster, und führen Sie ihn als SCRIPT aus.
Hinweis: Stellen Sie sicher, dass Sie ein Passwort für den FINDATA-Benutzer festlegen, und notieren Sie sich für spätere Schritte in diesem Tutorial.
-
Laden Sie die Datei enable_gg.SQL herunter, kopieren Sie den Inhalt in das SQL-Ausführungsfenster, und führen Sie ihn als SCRIPT aus.
Hinweis: Stellen Sie sicher, dass Sie ein Kennwort für den GGADMIN-Benutzer festlegen, und notieren Sie sich weitere Schritte in diesem Tutorial.
Aufgabe 5: Daten aus der Datei banks_export.sql
in sourceDB laden
-
Gehen Sie zur Homepage von sourceDB, und klicken Sie auf Database Actions, um SQL-Befehle in der Datenbank auszuführen und Daten zu laden.
-
Laden Sie die Datei banks_export.SQL herunter, kopieren Sie den Inhalt in das SQL-Ausführungsfenster, und führen Sie ihn als SCRIPT aus.
-
Führen Sie einen einfachen COUNT für die Tabelle aus, und prüfen Sie die Anzahl der eingefügten Zeilen.
Aufgabe 6: Neues Schema für targetDB erstellen und Daten laden
-
Wiederholen Sie Aufgabe 4 und Aufgabe 5 für "targetDB".
-
Erstellen Sie die FINDATA-Tabelle, aktivieren Sie GG, und laden Sie Daten aus Tabelle BANKS in die Zieldatenbank genauso wie in sourceDB, aber jetzt in targetDB angemeldet.
Aufgabe 7: Transaktionstabelle mit dem Namen OPERACOES auf sourceDB erstellen
-
Erstellen Sie nur in sourceDB eine neue Tabelle mit dem Namen
FINDATA.OPERACOES
. Diese Tabelle stellt die Quelldaten dar, die Oracle GoldenGate for Big Data erfasst und im OCI Streaming-Thema posten wird. -
Gehen Sie zur Homepage von sourceDB, und klicken Sie auf Database Actions, um SQL-Befehle in der Datenbank auszuführen und Daten zu laden.
-
Laden Sie die Datei operacoes_table.SQL herunter, kopieren Sie den Inhalt in das SQL-Ausführungsfenster, und führen Sie ihn als SCRIPT aus.
Dies ist eine leere Tabelle, die die Zufallsdaten zum Starten von Ereignissen auf Oracle GoldenGate erhält.
Aufgabe 8: OCI Streamingpool erstellen
-
Klicken Sie im oberen linken Navigationsmenü auf Analysen und KI, klicken Sie auf Streaming, und wählen Sie Streamingpool aus.
-
Klicken Sie auf Streampool erstellen, und geben Sie die folgenden Informationen ein.
-
Klicken Sie auf Erstellen.
-
Klicken Sie auf Kafka-Verbindungseinstellungen, und notieren Sie sich die Informationen zu den Verbindungszeichenfolgen.
Aufgabe 9: AUTH TOKEN für den Zugriff auf den OCI-Streamingpool generieren
Sie können auf OCI Streaming (Kafka-API) und andere Ressourcen in Oracle Cloud mit einem Authentifizierungstoken zugreifen, das Ihrem Benutzer in Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) zugeordnet ist. In den Kafka-Verbindungseinstellungen enthalten die SASL-Verbindungszeichenfolgen einen Parameter namens "Password" und einen AUTH_TOKEN-Wert, wie in der vorherigen Aufgabe beschrieben. Um den Zugriff auf OCI Streaming zu aktivieren, gehen Sie zur OCI-Konsole, und erstellen Sie ein AUTH TOKEN.
-
Klicken Sie auf das Navigationsmenü oben links, wählen Sie Identität und Sicherheit aus, und wählen Sie Identität, Domains, Standarddomain, Benutzer aus.
-
Wählen Sie denselben Benutzer aus, mit dem Sie frühere Ressourcen wie Oracle Autonomous Database und OCI-Streampool erstellt haben.
Hinweis: Notieren Sie sich die AUTH TOKEN. Sie benötigen sie für den nächsten Schritt.
Aufgabe 10: Oracle GoldenGate-Verbindungen erstellen
Um eine Verbindung zur Quell- und Zieldatenbank herzustellen, benötigt Oracle GoldenGate das richtige Verbindungssetup.
-
Klicken Sie auf das Navigationsmenü oben links, wählen Sie Oracle Database aus, und klicken Sie auf GoldenGate.
-
Wählen Sie im linken Menü die Option Verbindungen, und klicken Sie auf Verbindung erstellen.
-
Erstellen Sie die Verbindung für sourceDB.
-
Wiederholen Sie den Prozess, und erstellen Sie die Verbindung für targetDB.
-
Erstellen Sie die Verbindung für den OCI Streaming-Pool DefaultPool.
Zu diesem Zeitpunkt sollten Sie über die folgenden Verbindungen verfügen:
Aufgabe 11: Oracle GoldenGate-Deployment erstellen - Typ: ORACLE
-
Klicken Sie auf das Navigationsmenü oben links, wählen Sie Oracle Database aus, und klicken Sie auf GoldenGate.
-
Wählen Sie im linken Menü die Option Deployments aus, und klicken Sie auf Deployment erstellen.
Hinweis: Speichern Sie Ihr oggadmin-Kennwort.
Aufgabe 12: Oracle GoldenGate-Deployment erstellen - Typ: BIGDATA
-
Klicken Sie auf das Navigationsmenü oben links, wählen Sie Oracle Database aus, und klicken Sie auf GoldenGate.
-
Wählen Sie im linken Menü die Option Deployments aus, und klicken Sie auf Deployment erstellen.
-
Nachdem die Deployments erstellt und aktiv wurden, fahren Sie mit dem nächsten Schritt fort.
Aufgabe 13: Verbindung zwischen Oracle GoldenGate-Deployments erstellen
Damit Oracle GoldenGate mit Oracle GoldenGate for Big Data kommunizieren kann, müssen wir die Verbindung erstellen.
-
Klicken Sie auf das Navigationsmenü oben links, wählen Sie Oracle Database aus, und klicken Sie auf GoldenGate.
-
Wählen Sie im linken Menü die Option Verbindungen, und klicken Sie auf Verbindung erstellen.
Ihre Verbindungen sollten wie folgt aussehen:
Aufgabe 14: Verbindungen zum Oracle GoldenGate-Deployment hinzufügen - GGForOracle
-
Wählen Sie das Deployment GGForOracle aus, klicken Sie im linken Menü auf Zugewiesene Verbindungen, und klicken Sie dann auf Verbindung zuweisen.
-
Fügen Sie die Verbindung für sourceDB hinzu.
-
Fügen Sie die Verbindung für targetDB hinzu.
-
Fügen Sie die Verbindung für GGOracletoGGBigData hinzu.
Sie benötigen die folgenden Verbindungen für das Deployment GGForOracle:
Aufgabe 15: Verbindungen zum Oracle GoldenGate-Deployment hinzufügen - GGforBigData
-
Wählen Sie das Deployment GGforBigData aus, klicken Sie im linken Menü auf Zugewiesene Verbindungen, und klicken Sie dann auf Verbindung zuweisen.
Sie benötigen die folgenden Verbindungen für das Deployment GGforBigData:
Aufgabe 16: Oracle GoldenGate für GGforOracle einrichten
-
Wählen Sie das Deployment GGForOracle aus, und klicken Sie auf Konsole starten.
-
Geben Sie die Zugangsdaten oggadmin/yourpassword (das Kennwort, das Sie bei der Erstellung des Deployments erstellt haben) ein.
-
Klicken Sie auf das Navigationsmenü, wählen Sie Konfiguration aus, und klicken Sie dann auf +, um neue Zugangsdaten hinzuzufügen.
-
Fügen Sie die Zugangsdaten für das Deployment GGforBigData hinzu.
Hinweis: Verwenden Sie den oggadmin, den Sie bei der Deployment-Erstellung eingerichtet haben.
-
Klicken Sie auf sourceDB, um eine Verbindung herzustellen, und klicken Sie dann auf + in TRANDATA, um die erforderlichen Tabellen für die Replikation hinzuzufügen.
-
Fügen Sie einen neuen Datensatz für die Tabelle
FINDATA.BANKS
hinzu, und klicken Sie auf Weiterleiten. -
Fügen Sie einen neuen Datensatz für die Tabelle
FINDATA.OPERACOES
hinzu, und klicken Sie auf Weiterleiten. -
Um zu prüfen, ob die Tabellen hinzugefügt werden, klicken Sie auf den Filter für FINDATA.*.
-
Klicken Sie auf targetDB, um eine Verbindung herzustellen, und klicken Sie dann auf + in CHECKPOINT.
-
Geben Sie FINDATA.CHECKTABLE ein, und klicken Sie auf Weiterleiten.
-
Klicken Sie jetzt auf die Option Überblick im linken Menü, um den neuen Extrakt aufzunehmen.
-
Folgende Parameter einschließen:
EXTRACT EXT USERIDALIAS sourceDB DOMAIN OracleGoldenGate EXTTRAIL E1 table FINDATA.operacoes; table FINDATA.banks;
-
-
Klicken Sie auf Aktionen, Starten, um die Extraktion zu starten.
-
Erstellen Sie jetzt ein neues Replikat, um die Replikation auf targetDB anzuwenden.
-
Folgende Parameter einschließen:
REPLICAT REP USERIDALIAS targetDB DOMAIN OracleGoldenGate MAP FINDATA.BANKS, TARGET FINDATA.BANKS;
Hinweis: Hier wird nur die Tabelle
FINDATA.BANKS
repliziert. Der Grund dafür ist, dass wir sie in targetDB replizieren. Die andere TabelleFINDATA.OPERACOES
wird später in diesem Tutorial auf das OCI Streaming-Thema repliziert. -
-
Klicken Sie auf Aktion, Starten, um das Replikat zu starten.
-
Prüfen Sie, ob die Replikation für die Tabelle
FINDATA.BANKS
funktioniert: Gehen Sie zur Seite "Datenbankaktionen" für sourceDB, und fügen Sie einen neuen Datensatz ein.INSERT INTO FINDATA.BANKS VALUES (999, 999, 'XXXXXX','TEST GOLDENGATE','TESTGG'); COMMIT;
-
Öffnen Sie die Seite "Datenbankaktionen" für targetDB, und führen Sie die folgende Abfrage aus, um zu prüfen, ob der Datensatz erstellt wurde.
select * from FINDATA.BANKS WHERE ID_SEQ = 999;
-
Klicken Sie auf die Registerkarte Verteilungsservice, und fügen Sie einen neuen Pfad hinzu, um Daten an GGforBigData zu senden.
-
Klicken Sie auf Aktion und Starten, um die Serviceverteilung zu starten.
Aufgabe 17: Oracle GoldenGate for Big Data einrichten - GGforBigData
-
Wählen Sie das Deployment GGforBigData aus, und klicken Sie auf Konsole starten.
-
Geben Sie die Zugangsdaten oggadmin/yourpassword (das Kennwort, das Sie bei der Erstellung des Deployments erstellt haben) ein.
-
Klicken Sie auf die Registerkarte Empfangsservice, und prüfen Sie, ob der Service bereits funktioniert. Sie sollte wie folgt aussehen, da wir bereits alle erforderlichen Einstellungen für die Verbindung zwischen beiden Oracle GoldenGate-Deployments vorgenommen haben.
-
Jetzt müssen wir REPLICAT einrichten, um die Daten im OCI Streaming-Thema zu veröffentlichen.
-
Klicken Sie auf die Registerkarte Administration Service.
-
Folgende Parameter einschließen:
REPLICAT STRM TARGETDB LIBFILE libggjava.so SET property=/u02/Deployment/etc/conf/ogg/STRM.properties MAP FINDATA.operacoes, TARGET FINDATA.operacoes , THREADRANGE(1-5);
-
Fügen Sie einfach ${tableName} in dieser Zeile hinzu, und verwenden Sie alle angegebenen Standardwerte.
-
-
Klicken Sie auf Aktion, Starten, um das Replikat zu starten.
-
Prüfen Sie, ob der Status grün ist:
-
Aufgabe 18: Replikation zum OCI Streaming-Thema prüfen
-
Gehen Sie zur Seite mit den Datenbankaktionen für sourceDB, und fügen Sie einige Zeilen in die Tabelle
FINDATA.OPERACOES
ein.-
Mit dem Skript load_random_data.sql können Sie Zufallsdaten in die Tabelle
FINDATA.OPERACOES
einfügen. -
Dieses Skript fügt 1.000 Zeilen in
FINDATA.OPERACOES
hinzu und reicht aus, um zu prüfen, ob die Replikation wie erwartet funktioniert.
-
-
Prüfen Sie, ob ein Datensatz in
FINDATA.OPERACOES
vorhanden ist, indem Sie den folgenden SQL-Befehl ausführen.SELECT COUNT(*) FROM FINDATA.OPERACOES;
-
Klicken Sie im oberen linken Navigationsmenü auf Analysen und KI, klicken Sie auf Streaming, und wählen Sie im linken Menü die Option Stream aus.
-
Prüfen Sie, ob eine neue TOPIC automatisch von Oracle GoldenGate for Big Data erstellt wird.
-
Versuchen Sie, einige Nachrichten zu konsumieren, und prüfen Sie, ob sie im Thema verfügbar sind, indem Sie auf Nachrichten laden klicken.
Wichtiger Hinweis: Nachrichten laden funktioniert nur für Nachrichten, die im letzten MINUTE konsumiert wurden. Das bedeutet, dass Sie nach der Ausführung des Skripts LOAD_RANDOM_DATA.SQL mehr Zeit in Anspruch nehmen, werden keine Ergebnisse angezeigt.
Um die Ergebnisse anzuzeigen, gehen Sie zur Datenbank, und führen Sie das Skript LOAD_RANDOM_DATA.SQL erneut aus. Gehen Sie dann zu Nachrichten laden zurück, und Ihre Nachrichten werden angezeigt.
Bestätigungen
- Autor - Joao Tarla (Oracle LAD A-Team Solution Engineer)
Weitere Lernressourcen
Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube-Kanal zu. Besuchen Sie außerdem die Website education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.
Produktdokumentation finden Sie im Oracle Help Center.
Stream data using Oracle GoldenGate and Oracle GoldenGate for Big Data with different targets
F80321-01
April 2023
Copyright © 2023, Oracle and/or its affiliates.