Bekannte Probleme bei GoldenGate-Prozessen
Informieren Sie sich über bekannte Probleme im Zusammenhang mit GoldenGate-Prozessen und wie Sie sie umgehen.
GoldenGate-Capture für Cluster MySQL InnoDB
Ein bekanntes Problem kann die Oracle GoldenGate-Erfassung stoppen, wenn die Erfassung aus einem MySQL InnoDB-Cluster erfolgt.
GoldenGate unterstützt derzeit Standard-GTIDs, aber keine getaggten GTIDs. MySQL Shell 9.5 und höher fügt bei Verwendung mit MySQL Server 8.3 oder höher automatisch ein mysqlsh-Tag zu bestimmten administrativen Transaktionen hinzu. Wenn GoldenGate auf diese getaggten Transaktionen trifft, kann der GTID-basierte Extract nicht erfolgreich sein.
Dies wirkt sich auf die GTID-basierte Erfassung für das Cluster MySQL InnoDB aus. Standalone-Erfassung von MySQL mit Lognummer und Offset ist nicht betroffen.
So verhindern Sie dieses Problem
Führen Sie eine Aktion aus, bevor Sie das Cluster upgraden: Verwenden Sie MySQL Shell 9.4 oder früher für das Clusterupgrade. Verwenden Sie MySQL Shell 9.5 oder höher nicht für Clustervorgänge, wenn Sie einen GTID-basierten Extract GoldenGate verwenden.
Die Auswahl der Shell-Version nach dem Start des Upgrades ist zu spät. Wenn MySQL Shell 9.5 oder höher getaggte GTIDs hinzufügt, kann der Extract nicht erfolgreich sein. Für das Recovery ist eine vollständige Neusynchronisierung erforderlich.
Workaround
Sie können das MySQL Server auf Version 8.3 oder höher upgraden, aber das Cluster InnoDB mit MySQL Shell 9.4 oder früher installieren, konfigurieren oder upgraden. Führen Sie diese Schritte aus, bevor Sie den Extract GoldenGate konfigurieren.
Das Entziehen der Berechtigung TRANSACTION_GTID_TAG ist keine gültige Problemumgehung und kann dazu führen, dass MySQL-Shellvorgänge, wie das Hinzufügen oder Entfernen einer Instanz, nicht erfolgreich ausgeführt werden.
Sicherheitshinweis: MySQL Shell 9.4 enthält Sicherheitslücken, die in späteren Releases behoben wurden. Prüfen Sie die Auswirkungen auf die Sicherheit mit Ihrem Sicherheitsteam, bevor Sie diesen temporären Workaround verwenden.
Apache Iceberg-Replikation mit AWS Glue Data Catalog und Amazon S3-Buckets
Bei Apache Iceberg-Replikationen mit AWS Glue Data Catalog und AWS S3-Buckets kann der folgende Fehler auftreten:
Cannot find constructor for interface org.apache.iceberg.catalog.Catalog
Missing org.apache.iceberg.aws.glue.GlueCatalog [java.lang.NoClassDefFoundError: software/amazon/awssdk/services/glue/model/AlreadyExistsException]
Problemumgehung: Aktualisieren Sie gg.classpath wie folgt:
gg.classpath=$THIRD_PARTY_DIR/iceberg/*:$THIRD_PARTY_DIR/s3/*:$THIRD_PARTY_DIR/hadoop/*::$THIRD_PARTY_DIR/s3/*:$THIRD_PARTY_DIR/glue/*
TLS-Sicherheitsprotokollproblem
TLS-Sicherheitsprotokoll für MongoDB, DocumentDB und Oracle JSON Collection
Wenn die Verbindung zu MongoDB Replicat, DocumentDB Replicat oder Oracle JSON Collection nicht erfolgreich verläuft, wird folgender Fehler in der Berichtsdatei ausgegeben:
Error: Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Problemumgehung: Fügen Sie der Eigenschaftendatei die folgende Eigenschaft hinzu, aktualisieren Sie <connection_ocid> mit der Verbindungs-OCID, und behalten Sie den Rest unverändert bei.
jvm.bootoptions=-Djavax.net.ssl.trustStore=/u02/connections/<connection_ocid>/truststore.pkcs12 -Djavax.net.ssl.trustStorePassword=Welcome123
Fehler 37518857: OGGDAA GGS Snowflake Streaming Replicat-Fehler
Snowflake Streaming Handler nicht erfolgreich mit: Exception: java.lang.StackOverflowError thrown from the UncaughtExceptionHandler in thread "process reaper"
Problemumgehung: Fügen Sie der Replicat-Eigenschaftendatei Folgendes hinzu:
jvm.bootoptions= -Djdk.lang.processReaperUseDefaultStackSize=true
Die OCI GoldenGate-Deployment-Konsole kann keine benutzerdefinierte/nicht standardmäßige benannte Discard-Datei anzeigen
Verwerfen Sie Dateien standardmäßig gemäß der Benennungskonvention <process-name>.dsc. Sie können alle Discard-Dateien in der OCI GoldenGate-Deployment-Konsole anzeigen, sofern Sie sie nicht umbenannt haben. In der Deployment-Konsole werden keine benutzerdefinierten benannten Discard-Dateien angezeigt.
Problemumgehung: Mit dem Diagnosetool "Diagnose erfassen" auf der Seite "Deployment-Details" können Sie auf die Discard-Dateien zugreifen.
Replikate nicht erfolgreich, wenn Traildatei aus MongoDB Extract mit BINARY_JSON_FORMAT verwendet wird
Wenn ein Replicat eine Traildatei verwendet, die aus einem MongoDB Extract mit BINARY_JSON_FORMAT in der Extract-Parameterdatei generiert wurde, verläuft das Replicat mit dem folgenden Fehler nicht erfolgreich:
ERROR 2023-08-04 17:13:13.000421 [main] - Unable to decode column 0 : Input length = 1
java.nio.charset.MalformedInputException: Input length = 1 at
java.nio.charset.CoderResult.throwException(CoderResult.java:281) ~[?:1.8.0_311]at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:816) ~[?:1.8.0_311] at
oracle.goldengate.datasource.UserExitDataSource.createColumnValue(UserExitDataSource.java:1106)
[ggdbutil-21.9.0.0.3.001.jar:21.9.0.0.3.001] Exception in thread "main"
oracle.goldengate.util.GGException: Unable to decode column 0 : Input length = 1 at
oracle.goldengate.datasource.UserExitDataSource.createColumnValue(UserExitDataSource.java:1203)
Problemumgehung: Wenn BINARY_JSON_FORMAT aus den Extract-Parametern entfernt wird, wird das Replicat erfolgreich ausgeführt, und Dokumente werden im erweiterten JSON-Format dargestellt.
Remote Change Data Capture Extracts für GTID-fähige Datenbanken nicht erfolgreich
Wenn Sie einen Extract-Prozess vom Typ "Change Data Capture" erstellen, bei dem die Option "Remote" für eine MySQL-Datenbank aktiviert ist, die globale Transaktions-IDs (GTIDs) verwendet, verläuft der Extract-Prozess nicht erfolgreich, und der folgende Fehler wird gemeldet:
ERROR OGG-25192 Trail file '<trail name>' is remote. Only local trail allowed for this extract.
Workaround: Entfernen Sie auf der Seite "Parameterdatei" des Change Data Capture Extract die Zeile TRANLOGOPTIONS ALTLOGDEST REMOTE.
Weitere Informationen finden Sie unter Oracle GoldenGate für MySQL verwenden.
Verteilungspfade: Fügen Sie das Root-Zertifikat zur Zertifikatsverwaltung oder zum Client-Wallet hinzu
Um Daten an OCI GoldenGate zu senden oder daraus abzurufen, müssen Sie auf dem Empfangsserver in Ihrem On-Premise- oder Marketplace-Deployment von Oracle GoldenGate einen Verteilungsserverpfad oder einen vom Ziel initiierten Pfad erstellen. Außerdem müssen Sie das OCI GoldenGate-Root-Zertifikat oder ein selbstsigniertes Zertifikat zu Ihrer Oracle GoldenGate-Zertifikatverwaltung (Oracle GoldenGate 21c oder höher) oder dem Client-Wallet (Oracle GoldenGate 19c) hinzufügen. Dadurch wird eine vertrauenswürdige Verbindung zwischen Ihren Oracle GoldenGate- und OCI GoldenGate-Deployments erstellt. Für Verteilungs- und Empfangsserverpfade zwischen Oracle GoldenGate und OCI GoldenGate wird nur das sichere WebSocket-(WSS-)Protokoll unterstützt.
Eine Änderung des OCI GoldenGate-Root-Zertifikats führt dazu, dass der Verteilungsserverpfad oder ein vom Ziel initiierter Pfad auf dem Empfangsserver in Ihrem On-Premise- oder Marketplace-Deployment von Oracle GoldenGate den folgenden Fehler generiert:
ERROR OGG-10390 Oracle GoldenGate Receiver Service: Generic error -1 noticed for endpoint
wss://<deployment URL>:443/services/v2/sources?trail=<trail name>. Error description - SSL
connection unexpectedly closed.
Workaround: Um dieses Problem zu beheben, aktualisieren sie das Zertifikat im Client-Wallet oder im Fenster "Zertifikatverwaltung" von Service Manager, um die Root-Zertifikate der OCI GoldenGate-Deployment-Konsole zu verwenden. In einigen Fällen, wenn das Zertifikat des OCI GoldenGate-Deployments nicht direkt vom Root-Zertifikat, sondern beispielsweise von Zwischenzertifikaten signiert wird, müssen möglicherweise auch die Zwischenzertifikate hinzugefügt werden.
Weitere Informationen:
-
Informationen zu Oracle GoldenGate 19c-Benutzern finden Sie unter Benutzerzertifikate für Verteilungsserverpfad erstellen.
-
Benutzer von Oracle GoldenGate 21c oder höher finden andere Informationen unter Vertrauenswürdige Verbindung zwischen Oracle GoldenGate und OCI GoldenGate erstellen.
Derzeit wird nur die Digest-Authentifizierung unterstützt
Oracle Cloud Infrastructure GoldenGate unterstützt derzeit keine zertifikatbasierte Authentifizierung, wenn Sie Oracle Cloud Infrastructure GoldenGate als Verteilungspfadziel verwenden.
Workaround: Keiner.