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 Lernprogramm erfahren Sie, wie Sie Oracle GoldenGate (OGG) zum Extrahieren und Replizieren von Oracle-Datenbank-CDC -Daten (Änderungsdatenerfassung) in Microsoft Fabric Real-Time Intelligence mithilfe des Kafka-Endpunkts verwenden, der von der benutzerdefinierten Endpunktquelle eines Eventstream angeboten wird. Diese Einrichtung ermöglicht die Echtzeitverarbeitung von Oracle CDC-Daten und ermöglicht das Senden an verschiedene Ziele innerhalb von Fabric, z. B. Eventhouse, Reflex, abgeleiteter Datenstrom oder benutzerdefiniertes Endpunktziel zur weiteren Analyse.
In diesem Lernprogramm werden Sie folgendes tun:
- Erstellen Sie eine Oracle-VM und die Oracle-Datenbank.
- Installieren Sie Oracle GoldenGate (OGG) Core auf der Oracle-VM.
- Konfigurieren Sie die Oracle-Datenbank für OGG und den OGG-Extrakt, um CDC-Daten zu extrahieren.
- Installieren Sie Oracle GoldenGate (OGG) Big Data auf der Oracle-VM.
- Konfigurieren Sie OGG Big Data, um die CDC-Daten auf den Kafka-Endpunkt von Eventstream zu replizieren.
- Überprüfen Sie den gesamten End-to-End-Fluss von Oracle zu Eventstream.
Voraussetzungen
- Sie können mithilfe der Berechtigungen der Rolle Mitwirkender oder höheren Berechtigungen auf einen Arbeitsbereich zugreifen, in denen sich Ihr Eventstream befindet.
- Bevorzugte Shell: Windows, Linux oder Azure Shell.
- Vertrautheit mit Unix-Editoren wie
vi
odervim
und ein grundlegendes Verständnis von X Server.
Erstellen einer Oracle-VM und -Datenbank
Dieser Abschnitt enthält Anweisungen zur Verwendung von Azure CLI-Befehlen zum Erstellen eines virtuellen Oracle-Computers und zum Einrichten einer Datenbank darin.
Erstellen eines virtuellen Oracle-Computers
Öffnen Sie Ihre bevorzugte Shell, um sich mit dem Befehl
az login
bei Ihrem Azure-Abonnement anzumelden. Folgen Sie dann den Anweisungen auf dem Bildschirm:$ az login
Überprüfen Sie den Abonnementnamen und die verwendete ID, um sicherzustellen, dass sie die richtige ist.
$ az account show
Erstellen Sie eine Ressourcengruppe, die zum Gruppieren aller Azure-Ressourcen für dieses Lernprogramm verwendet wird:
$ az group create --name esoggcdcrg --location eastus2
Erstellen Sie die Netzwerkressourcen, die für dieses Lernprogramm erforderlich sind:
- Erstellen Sie ein virtuelles Netzwerk (virtuelles Netzwerk), das für die virtuellen Computer in diesem Lernprogramm verwendet wird:
$ az network vnet create --name oggVnet --resource-group esoggcdcrg --address-prefixes "10.0.0.0/16" --subnet-name oggSubnet1 --subnet-prefixes "10.0.0.0/24"
- Erstellen einer Netzwerksicherheitsgruppe (Network Security Group, NSG):
$ az network nsg create --resource-group esoggcdcrg --name oggVnetNSG
- Erstellen Sie eine NSG-Regel, um Netzwerkdatenverkehr innerhalb des virtuellen Netzwerks zuzulassen:
$ az network nsg rule create --resource-group esoggcdcrg --nsg-name oggVnetNSG --name oggAllowVnet --protocol '*' --direction inbound --priority 3400 --source-address-prefix 'VirtualNetwork' --source-port-range '*' --destination-address-prefix 'VirtualNetwork' --destination-port-range '*' --access allow
- Erstellen Sie eine NSG-Regel, um die RDP-Verbindung zum Verbinden der Windows-VM zuzulassen. Sie wird verwendet, um remote von Ihrem lokalen Windows-Computer aus auf die Windows-VM zuzugreifen:
$ az network nsg rule create --resource-group esoggcdcrg --nsg-name oggAllowRDP --protocol '*' --direction inbound --priority 3410 --source-address-prefix '*' --source-port-range '*' --destination-address-prefix '*' --destination-port-range '3389' --access allow
- Erstellen Sie eine NSG-Regel, um alle eingehenden Verbindungen zu verweigern:
$ az network nsg rule create --resource-group esoggcdcrg --nsg-name oggDenyAllInBound --protocol '*' --direction inbound --priority 3500 --source-address-prefix '*' --source-port-range '*' --destination-address-prefix '*' --destination-port-range '*' --access deny
- Weisen Sie NSG dem Subnetz zu, in dem wir unsere Server hosten:
$ az network vnet subnet update --resource-group esoggcdcrg --vnet-name oggVNet --name oggSubnet1 --network-security-group oggVnetNSG
- Erstellen Sie ein virtuelles Netzwerk (virtuelles Netzwerk), das für die virtuellen Computer in diesem Lernprogramm verwendet wird:
Erstellen Sie den virtuellen Oracle-Computer:
$ az vm create --resource-group esoggcdcrg --name oggVM --image Oracle:oracle-database:oracle_db_21:21.0.0 --size Standard_D2s_v3 --generate-ssh-keys --admin-username azureuser --vnet-name oggVnet --subnet oggSubnet1 --public-ip-address "" --nsg "" --zone 1
Erstellen und Konfigurieren der X Server-VM
Zum Erstellen der Oracle-Datenbank muss SSH zum Anmelden an dem virtuellen Computer verwendet werden, der im vorherigen Schritt erstellt wurde. Da die zuvor definierte NSG-Regel alle eingehenden Verbindungen verweigert, aber Verbindungen innerhalb des virtuellen Netzwerks und rdP 3389-Port zulässt, wird ein virtueller Windows-Computer erstellt, um eine Verbindung mit dem virtuellen Oracle-Computer herzustellen. Dieser virtuelle Windows-Computer wird auch verwendet, um den X-Server zu hosten, der die grafische Installationsschnittstelle empfängt, wenn die GoldenGate-Core-Anwendung später auf Oracle VM installiert wird.
Ersetzen Sie Ihr Kennwort, und führen Sie den folgenden Befehl aus, um eine Windows-Arbeitsstations-VM zu erstellen, auf der X Server bereitgestellt wird.
$ az vm create --resource-group esoggcdcrg --name oggXServer --image MicrosoftWindowsDesktop:windows-11:win11-24h2-pro:26100.2605.241207 --size Standard_D2s_v3 --vnet-name oggVnet --subnet oggSubnet1 --public-ip-sku Standard --nsg "" --data-disk-delete-option Delete --os-disk-delete-option Delete --nic-delete-option Delete --security-type Standard --admin-username azureuser --admin-password <YOUR_OWN_PASSWORD>
Nachdem sie erstellt wurde, wechseln Sie zum Azure-Portal, um die RDP-Datei aus der oggXServer-Ressource herunterzuladen, damit Sie sie für den Remotezugriff auf diesen Windows-Computer verwenden können. Öffnen Sie die RDP-Datei, und verwenden Sie das Kennwort, das Sie beim Erstellen der Windows-VM (oggXServer) angegeben haben.
Installieren Sie die WSL auf der Windows-VM (oggXServer), damit SSH zum Herstellen einer Verbindung mit Oracle VM (oggVM) verwendet werden kann. Sie können auch andere SSH-Tools wie Putty verwenden, um auch eine Verbindung herzustellen.
PS C:\Users\azureuser> wsl --install -d Ubuntu
Sie müssen den privaten Schlüssel für die SSH-Anmeldung auf oggXServer aus dem oggVM herunterladen. Nachdem der Schlüssel heruntergeladen wurde, verwenden Sie diesen Schlüssel (verschieben Sie diesen Schlüssel in Ihr WSL Home .ssh-Verzeichnis), um sich anzumelden:
$ ssh -i ~/.ssh/id_rsa.pem azureuser@10.0.0.4
Verbinden Sie die Oracle-VM mit ihrer privaten IP-Adresse mit SSH.
Erstellen der Oracle-Datenbank
Jetzt sollten Sie sich mit SSH bei der Oracle-VM auf dem X-Server-Windows-VM (oggXServer) anmelden können. Führen Sie die folgenden Schritte aus, um die Oracle-Datenbank zu erstellen.
Verwenden Sie SSH, um sich bei Oracle VM (oggVM) anzumelden.
$ chmod 400 ~/.ssh/oggVM.pem $ ssh -i ~/.ssh/oggVM.pem azureuser@10.0.0.4
Ändern Sie die benutzende Person in
oracle
.$ sudo su - oracle
Erstellen Sie die Datenbank mithilfe des folgenden Befehls. Dieser Befehl kann bis zu 30 bis 40 Minuten dauern.
$ dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname cdb1 -sid cdb1 -responseFile NO_VALUE -characterSet AL32UTF8 -sysPassword OraPasswd1 -systemPassword OraPasswd1 -createAsContainerDatabase true -numberOfPDBs 1 -pdbName pdb1 -pdbAdminPassword OraPasswd1 -databaseType MULTIPURPOSE -automaticMemoryManagement false -storageType FS -datafileDestination "/u01/app/oracle/oradata/" -ignorePreReqs
Festlegen der variablen ORACLE_SID und LD_LIBRARY_PATH
$ export ORACLE_SID=cdb1 $ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
Fügen Sie ORACLE_SID und LD_LIBRARY_PATH zur Datei ~/.bashrc hinzu, damit diese Einstellungen für zukünftige Anmeldungen gespeichert werden. ORACLE_HOME Variable sollte bereits in der BASHRC-Datei festgelegt werden.
$ sed -i '$ a export ORACLE_SID=cdb1' .bashrc $ sed -i '$ a export LD_LIBRARY_PATH=$ORACLE_HOME/lib' .bashrc
Oracle-Listener starten
$ lsnrctl start
Inzwischen wurde die Oracle-Datenbank erstellt. Um das Oracle CDC für GoldenGate zu aktivieren, muss das Archivprotokoll aktiviert sein. Führen Sie die folgenden Schritte aus, um sie zu aktivieren.
Herstellen einer Verbindung mit sqlplus:
$ sqlplus / as sysdba
Aktivieren Sie das Archivprotokoll mit folgendem Befehl. Führen Sie die folgenden Befehle einzeln aus:
SQL> SELECT log_mode FROM v$database; SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP MOUNT; SQL> ALTER DATABASE ARCHIVELOG; SQL> ALTER DATABASE OPEN;
Aktivieren Sie die Erzwingungsprotokollierung und GoldenGate-Replikation, und stellen Sie sicher, dass mindestens eine Protokolldatei vorhanden ist. Führen Sie die folgenden Befehle einzeln aus:
SQL> ALTER DATABASE FORCE LOGGING; SQL> ALTER SYSTEM SWITCH LOGFILE; SQL> ALTER SYSTEM set enable_goldengate_replication=true; SQL> ALTER PLUGGABLE DATABASE PDB1 OPEN; SQL> ALTER SESSION SET CONTAINER=CDB$ROOT; SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; SQL> ALTER SESSION SET CONTAINER=PDB1; SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; SQL> EXIT;
Installieren von Oracle GoldenGate Core
In diesem Abschnitt erfahren Sie, wie Sie die Oracle GoldenGate Core-Anwendung herunterladen und auf die Oracle VM (oggVM) übertragen und installieren. Alle diese Schritte werden auf der X-Server-Windows-VM (oggXServer) ausgeführt.
Herunterladen und Übertragen der Oracle GoldenGate Core-Anwendung auf vm
Öffnen Sie die RDP-Verbindung der X Server-Windows-VM (oggXServer) und laden Sie
Oracle GoldenGate 21.3.0.0.0 for Oracle on Linux x86-64
von Oracle Golden Gate auf der Windows-VM (oggXServer) herunter.Übertragen Sie die heruntergeladene ZIP-Datei auf oracle VM (oggVM) mit Secure Copy Protocol (SCP) auf der X-Server-Windows-VM (oggXServer).
$ scp -i ~/.ssh/oggVM.pem 213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip azureuser@10.0.0.4:~/
Um die Oracle GoldenGate Core-Anwendung mit GUI-Schnittstelle zu installieren, wird die Xming-Anwendung benötigt, um sie auf oggXServer zu installieren. Laden Sie Xming X Server für Windows auf ggXServer herunter, und installieren Sie es mit allen Standardoptionen.
- Stellen Sie sicher, dass Sie "Starten" am Ende der Installation nicht ausgewählt haben.
- Starten Sie die Anwendung "XLAUNCH" aus dem Startmenü.
Schließen Sie die Konfiguration ab, indem Sie die XLAUNCH- Anwendung über das Startmenü starten. Stellen Sie sicher, dass Sie Keine Zugriffssteuerungauswählen.
Installieren von Oracle GoldenGate Core Application auf oggVM
Alle Vorgänge in diesem Abschnitt werden auf Oracle VM (oggVM) ausgeführt. Verwenden Sie also die SSH-Anmeldung bei diesem virtuellen Computer, und führen Sie die folgenden Schritte aus, um sie zu installieren.
Stellen Sie eine Verbindung mit oggVM mit SSH her.
$ ssh -i ~/.ssh/oggVM.pem azureuser@10.0.0.4
Verschieben Sie die hochgeladene ZIP-Datei in oracle home dir.
$ sudo su - $ mv /home/azureuser/213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip /home/oracle/
Entpacken Sie die Dateien (installieren Sie das Entpackprogramm, falls noch nicht installiert).
$ yum install unzip $ cd /home/oracle/ $ unzip 213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip
Berechtigung ändern.
$ chown -R oracle:oinstall fbo_ggs_Linux_x64_Oracle_shiphome/ $ exit
Jetzt starten wir die Oracle GoldenGate Core-Installation. Die private IP in 'DISPLAY=10.0.0.5:0.0' ist die private IP des oggXServers.
$ sudo su - oracle $ export DISPLAY=10.0.0.5:0.0 $ cd fbo_ggs_Linux_x64_Oracle_shiphome/Disk1 $ ./runInstaller
Sie sollten sehen, dass der Xming-Server von diesem Installationsprogramm geöffnet wird.
Wählen Sie Oracle GoldenGate für Oracle Database 21caus. Wählen Sie dann Weiter aus, um fortzufahren.
Wählen Sie den Pfad für die Softwareinstallation als /u01/app/oggcoreaus, stellen Sie sicher, dass Start-Manager- aktiviert ist, und wählen Sie Weiter aus, um fortzufahren.
Wählen Sie im Zusammenfassungsschritt Installieren aus.
Wählen Sie "Schließen" im letzten Schritt aus.
Jetzt wird die Oracle GoldenGate Core-Anwendung erfolgreich in der Oracle-VM (oggVM) installiert.
Konfigurieren der Oracle-Datenbank für OGG- und OGG-Extrakt zum Extrahieren der CDC-Daten
Nachdem die Oracle GoldenGate Core-Anwendung installiert wurde, kann sie so konfiguriert werden, dass die Oracle CDC-Daten extrahiert werden. Führen Sie die folgenden Schritte aus, um den Extrakt zu konfigurieren. Alle Vorgänge in diesem Abschnitt werden weiterhin auf Oracle VM (oggVM) mit SSH-Verbindung ausgeführt.
Die Datenbank für die Extraktion vorbereiten
Erstellen oder aktualisieren Sie die Datei "tnsnames.ora".
$ sudo su - oracle $ cd $ORACLE_HOME/network/admin $ vi tnsnames.ora
Wenn der Vi-Editor geöffnet wird, müssen Sie
i
drücken, um in den Einfügemodus zu wechseln, dann Dateiinhalte kopieren und einfügen undEsc
-Taste drücken,:wq
, um die Datei zu speichern.cdb1= (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=localhost) (PORT=1521) ) (CONNECT_DATA= (SERVER=dedicated) (SERVICE_NAME=cdb1) ) ) pdb1= (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=localhost) (PORT=1521) ) (CONNECT_DATA= (SERVER=dedicated) (SERVICE_NAME=pdb1) ) )
Erstellen Sie die Besitzer- und Benutzerkonten von Golden Gate.
$ sqlplus / as sysdba
SQL> CREATE USER C##GGADMIN identified by ggadmin; SQL> EXEC dbms_goldengate_auth.grant_admin_privilege('C##GGADMIN',container=>'ALL'); SQL> GRANT DBA to C##GGADMIN container=all; SQL> connect C##GGADMIN/ggadmin SQL> ALTER SESSION SET CONTAINER=PDB1; SQL> EXIT;
Erstellen Sie das Golden Gate ggtest-Benutzerkonto.
$ cd /u01/app/oggcore $ sqlplus system/OraPasswd1@pdb1
SQL> CREATE USER ggtest identified by ggtest DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP; SQL> GRANT connect, resource, dba TO ggtest; SQL> ALTER USER ggtest QUOTA 100M on USERS; SQL> connect ggtest/ggtest@pdb1 SQL> @demo_ora_create SQL> @demo_ora_insert SQL> select * from TCUSTMER; SQL> select * from TCUSTORD; SQL> EXIT;
Sie sollten in der Lage sein, zwei Tabellen (TCUSTMER und TCUSTORD) zu erstellen, und zwei Datensätze werden in jede der beiden Tabellen eingefügt.
Konfigurieren und Aktivieren des Extrakts
Konfigurieren Sie die Extraktparameterdatei für Oracle GoldenGate Extract.
$ sudo su – oracle
Stellen Sie sicher, dass
$TNS_ADMIN
in~/.bashrc
festgelegt ist. Wenn nicht, setzen Sie es als:export TNS_ADMIN=$ORACLE_HOME/network/admin
in~/.bashrc
. Und führen Sie befehlsource ~/.bashrc
aus, um sie wirksam zu machen.$ cd /u01/app/oggcore $ ./ggsci GGSCI> DBLOGIN USERID ggtest@pdb1 Successfully logged into database pdb1 GGSCI> ADD SCHEMATRANDATA pdb1.ggtest 2025-01-04 15:57:42 INFO OGG-01788 SCHEMATRANDATA has been added on schema "ggtest". 2025-01-04 15:57:42 INFO OGG-01976 SCHEMATRANDATA for scheduling columns has been added on schema "ggtest". 2025-01-04 15:57:42 INFO OGG-10154 Schema level PREPARECSN set to mode NOWAIT on schema "ggtest". GGSCI> EDIT PARAMS EXT1
EXTRACT EXT1 USERID C##GGADMIN@cdb1, PASSWORD ggadmin RMTHOST 10.0.0.4, MGRPORT 7809 RMTTRAIL ./dirdat/rt DDL INCLUDE MAPPED DDLOPTIONS REPORT LOGALLSUPCOLS UPDATERECORDFORMAT COMPACT TABLE pdb1.ggtest.TCUSTMER; TABLE pdb1.ggtest.TCUSTORD;
Registerauszug – Integrierter Auszug.
GGSCI> dblogin userid C##GGADMIN@cdb1 Successfully logged into database CDB$ROOT. GGSCI> REGISTER EXTRACT EXT1 DATABASE CONTAINER(pdb1) 2025-01-04 16:04:58 INFO OGG-02003 Extract group EXT1 successfully registered with database at SCN 2147164. GGSCI> exit
Richten Sie Extraktprüfpunkte ein, und starten Sie den Echtzeitextrakt.
GGSCI> ADD EXTRACT EXT1, INTEGRATED TRANLOG, BEGIN NOW GGSCI> ADD RMTTRAIL ./dirdat/rt, EXTRACT EXT1, MEGABYTES 10 RMTTRAIL added. GGSCI> START EXTRACT EXT1 Sending START request to MANAGER ... EXTRACT EXT1 starting GGSCI> INFO ALL Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING EXTRACT RUNNING EXTORA 00:00:11 00:00:04 GGSCI > EXIT
Feuerprobe für den konfigurierten Extrakt:
Melden Sie sich mit dem Testkonto in der Datenbank an und fügen Sie einen Datensatz in die Tabelle ein.
$ sqlplus ggtest
SQL> select * from TCUSTORD; SQL> INSERT INTO TCUSTORD VALUES ('OLLJ',TO_DATE('11-JAN-25'),'CYCLE',400,16000,1,102); SQL> COMMIT; SQL> EXIT;
Überprüfen Sie die Transaktion, die von Golden Gate erfasst wurde (Notieren Sie den Gesamtwert der Einfügungen):
$ cd /u01/app/oggcore $ ./ggsci GGSCI> STATS EXT1 Sending STATS request to Extract group EXT1 ... Start of statistics at 2025-01-04 16:12:16. DDL replication statistics (for all trails): *** Total statistics since extract started *** Operations 0.00 Mapped operations 0.00 Unmapped operations 0.00 Other operations 0.00 Excluded operations 0.00 Output to ./dirdat/rt: Extracting from PDB1.GGTEST.TCUSTORD to PDB1.GGTEST.TCUSTORD: *** Total statistics since 2025-01-04 16:11:02 *** Total inserts 1.00 Total updates 0.00 Total deletes 0.00 Total upserts 0.00 Total discards 0.00 Total operations 1.00 *** Daily statistics since 2025-01-04 16:11:02 *** Total inserts 1.00 Total updates 0.00 Total deletes 0.00 Total upserts 0.00 Total discards 0.00 Total operations 1.00 *** Hourly statistics since 2025-01-04 16:11:02 *** Total inserts 1.00 Total updates 0.00 Total deletes 0.00 Total upserts 0.00 Total discards 0.00 Total operations 1.00 *** Latest statistics since 2025-01-04 16:11:02 *** Total inserts 1.00 Total updates 0.00 Total deletes 0.00 Total upserts 0.00 Total discards 0.00 Total operations 1.00 End of statistics.
Installieren von Oracle GoldenGate Big Data
Das Oracle GoldenGate Big Data repliziert die extrahierten Daten auf den gewünschten Handler (Ziel). In diesem Tutorial ist der Handler das Kafka-Thema. In diesem Abschnitt werden Sie geführt, um die benötigten Softwarepakete herunterzuladen und sie zu installieren.
Herunterladen der erforderlichen Softwarepakete
Die Windows-VM (oggXServer) wird weiterhin verwendet, um diese Softwarepakete herunterzuladen und auf Oracle VM (oggVM) zu übertragen.
Laden Sie OGG für Big Data (Oracle GoldenGate für Big Data 21.4.0.0.0 auf Linux x86-64) von Oracle GoldenGate Downloadsherunter.
Laden Sie Kafka-Paket(kafka_2.13-3.9.0.tgz)herunter.
Laden Sie JAVA SDK(jdk-8u202-linux-x64.tar.gzherunter.
Verwenden Sie den SCP-Befehl in WSL, um sie auf oracle VM zu übertragen:
$ scp -i ~/.ssh/oggVM.pem kafka_2.13-3.9.0.tgz jdk-8u202-linux-x64.tar.gz 214000_ggs_Linux_x64_BigData_64bit.zip azureuser@10.0.0.4:~/
Installieren der drei Softwarepakete
Um die drei Softwarepakete zu installieren, extrahieren Sie diese in die einzelnen Ordner und konfigurieren Sie die entsprechenden Umgebungsvariablen. Alle Vorgänge in diesem Abschnitt werden auf Oracle VM (oggVM) ausgeführt. Verwenden Sie also die SSH-Anmeldung bei diesem virtuellen Computer, und führen Sie die folgenden Schritte aus, um sie zu installieren.
Stellen Sie eine Verbindung mit oggVM mit SSH her.
$ ssh -i ~/.ssh/oggVM.pem azureuser@10.0.0.4
Verschieben Sie diese Pakete in oracle home dir.
$ sudo su – $ mv /home/azureuser/214000_ggs_Linux_x64_BigData_64bit.zip /home/azureuser/kafka_2.13-3.9.0.tgz /home/azureuser/jdk-8u202-linux-x64.tar.gz /home/oracle/ $ exit
Wechseln Sie zum Benutzer "oracle" und gehen Sie zum Home-Verzeichnis, um die einzelnen Ordner vorzubereiten.
$ sudo su – oracle $ mkdir kafka java oggbd $ mv 214000_ggs_Linux_x64_BigData_64bit.zip oggbd/ $ mv jdk-8u202-linux-x64.tar.gz java/ $ mv kafka_2.13-3.9.0.tgz kafka
Wechseln Sie zu jedem einzelnen Ordner und extrahieren Sie das Paket.
$ cd java $ tar -xvf jdk-8u202-linux-x64.tar.gz $ cd ../kafka $ tar -xvf kafka_2.13-3.9.0.tgz $ cd ../oggbd $ mkdir /u01/app/oggbd $ tar -xvf ggs_Linux_x64_BigData_64bit.tar -C /u01/app/oggbd
Konfigurieren Sie die Umgebungsvariablen für JAVA.
$ export JAVA_HOME=/home/oracle/java/jdk1.8.0_202 $ export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$JAVA_HOME/lib:/$JAVA_HOME/jre/lib/amd64/server
Konfigurieren von Oracle GoldenGate Big Data zum Replizieren der CDC-Daten in den Kafka-Endpunkt von Eventstream
In diesem Abschnitt werden Sie geführt, die Oracle GoldenGate Big Data so zu konfigurieren, dass die im vorherigen Abschnitt extrahierten CDC-Daten in den Kafka-Endpunkt von Eventstream repliziert werden.
Vorbereiten des Eventstream Kafka-Endpunkts
Befolgen Sie die üblichen Erstellungsverfahren von Eventstream sowie die benutzerdefinierte Quellenerstellung für Endpunkte, um die Kafka-Endpunktinformationen für die spätere Verwendung zu erhalten. Weitere Informationen finden Sie unter Hinzufügen eines benutzerdefinierten Endpunkts oder einer benutzerdefinierten App-Quelle zu einem Eventstream.
Konfigurieren der Replikation für Oracle GoldenGate Big Data
Alle Vorgänge in diesem Abschnitt werden auf Oracle VM (oggVM) ausgeführt. Verwenden Sie also die SSH-Anmeldung bei diesem virtuellen Computer, und führen Sie die folgenden Schritte aus, um sie zu konfigurieren.
Stellen Sie eine Verbindung mit oggVM mit SSH her, wenn Sie die Verbindung nach dem vorherigen Abschnitt verloren haben.
$ ssh -i ~/.ssh/oggVM.pem azureuser@10.0.0.4 $ sudo su - oracle
Wechseln Sie zu dem Ordner, in dem das Oracle GoldenGate Big Data-Paket extrahiert wurde, und rufen Sie die erforderlichen Ordner ab.
$ cd /u01/app/oggbd $ ./ggsci GGSCI> CREATE SUBDIRS GGSCI> EDIT PARAMS MGR
PORT 7801
GGSCI> START MGR GGSCI> INFO ALL Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING GGSCI> EXIT
Kopieren Sie die Konfigurationsdateien der Kafka-Handlervorlage.
$ cp AdapterExamples/big-data/kafka/* dirprm/
Öffnen Sie die Datei "rkafka.prm", und ändern Sie den MAP/TARGET-Schemanamen entsprechend dem Schemanamen in der Quelldatenbank.
$ vim dirprm/rkafka.prm
REPLICAT rkafka TARGETDB LIBFILE libggjava.so SET property=dirprm/kafka.props REPORTCOUNT EVERY 1 MINUTES, RATE GROUPTRANSOPS 10000 MAP pdb1.ggtest.*, TARGET pdb1.ggtest.*;
Fügen Sie die Replikation mit dem folgenden Befehl innerhalb des ./ggsci-Kommandos hinzu. Stellen Sie sicher, dass das Replikat das im Extraktschritt definierte ist.
$ ./ggsci GGSCI> ADD REPLICAT rkafka, exttrail /u01/app/oggcore/dirdat/rt GGSCI> EXIT
Öffnen Sie die Datei "Kafka-Props", und ändern Sie den gg.classpath in den richtigen Kafka-Installationsverzeichnispfad unter #Sample gg.classpath für Apache Kafka. Füllen Sie außerdem den Kafka-Themennamen aus, der von der benutzerdefinierten Eventstream-Endpunktquelle stammt.
$ vim dirprm/kafka.props
gg.handlerlist=kafkahandler gg.handler.kafkahandler.type=kafka gg.handler.kafkahandler.kafkaProducerConfigFile=custom_kafka_producer.properties #The following resolves the topic name using the fixed topic which is from eventstream gg.handler.kafkahandler.topicMappingTemplate={YOUR.TOPIC.NAME} #The following selects the message key using the concatenated primary keys #A null Kafka message key distributes to the partitions on a round-robin basis gg.handler.kafkahandler.keyMappingTemplate=${null} #gg.handler.kafkahandler.schemaTopicName=mySchemaTopic gg.handler.kafkahandler.blockingSend=false gg.handler.kafkahandler.includeTokens=false gg.handler.kafkahandler.mode=op #gg.handler.kafkahandler.metaHeadersTemplate=${alltokens} gg.handler.kafkahandler.transactionsEnabled=false gg.handler.kafkahandler.format=json gg.handler.kafkahandler.format.metaColumnsTemplate=${objectname[table]},${optype[op_type]},${timestamp[op_ts]},${currenttimestamp[current_ts]},${position[pos]} #Sample gg.classpath for Apache Kafka gg.classpath=dirprm/:/var/lib/kafka/libs/*:/home/oracle/kafka/kafka_2.13-3.9.0/libs/* #Sample gg.classpath for HDP #gg.classpath=/etc/kafka/conf:/usr/hdp/current/kafka-broker/libs/*
- Sie finden den Wert „{YOUR.TOPIC.NAME}“ auf der Seite SAS-Schlüsselauthentifizierung unter der Kafka-Registerkarte:
Nehmen Sie Änderungen an der Datei custom_producer.properties vor, indem Sie die Eventstream Connect-Zeichenfolge und das Kennwort hinzufügen, die zum Herstellen einer Verbindung mit Eventstream erforderlich sind.
$ vim dirprm/custom_kafka_producer.properties
bootstrap.servers={YOUR.BOOTSTRAP.SERVER} security.protocol=SASL_SSL sasl.mechanism=PLAIN sasl.jaas.config={YOUR.SASL.JASS.CONFIG}; acks=1 reconnect.backoff.ms=1000 value.serializer=org.apache.kafka.common.serialization.ByteArraySerializer key.serializer=org.apache.kafka.common.serialization.ByteArraySerializer # 100KB per partition batch.size=16384 linger.ms=0
- Ersetzen Sie {IHREN.BOOTSTRAP.SERVER} mit dem Wert des Bootstrap-Servers , den Sie aus Ihrem Eventstream kopieren können.
- Ersetzen Sie {IHRE.SASL.JASS.CONFIG} durch den SASL JASS Konfigurationswert, den Sie aus Ihrem Eventstream kopieren können.
Melden Sie sich bei Ihrer GoldenGate-Instanz an, und starten Sie den Replikationsprozess.
$ ./ggsci GGSCI> START RKAFKA Sending START request to Manager ... Replicat group RKAFKA starting.
GGSCI> INFO ALL Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING REPLICAT RUNNING RKAFKA 00:00:00 00:53:17 GGSCI> EXIT
Überprüfen des gesamten E2E-Flusses von Oracle zu Eventstream
Um den gesamten E2E-Ablauf zu überprüfen, melden Sie sich mit dem ggtest Konto bei der Oracle-Datenbank an, um einige Datensätze einzufügen, und wechseln Sie dann zu Eventstream, um zu überprüfen, ob die Änderungsdaten fließen.
Melden Sie sich bei Oracle DB mit Testkonto an, um einige neue Datensätze einzufügen:
$ sqlplus ggtest
SQL> select * from TCUSTORD; SQL> INSERT INTO TCUSTORD VALUES ('MSFT',TO_DATE('3-JAN-25'),'M365',100,80000,2,104); SQL> INSERT INTO TCUSTMER VALUES ('TOM','SUNRISE SOFTWARE INC.','SAN FRANCISCO','CA'); SQL> COMMIT; SQL> EXIT;
Zeigen Sie eine Vorschau der Daten an, die Sie mit dieser Kafka-Endpunktquelle gesendet haben. Wählen Sie den Standarddatenstromknoten aus, bei dem es sich um den mittleren Knoten handelt, der ihren Ereignisstreamnamen anzeigt.