Problèmes connus liés aux processus GoldenGate

Découvrez les problèmes connus liés aux processus GoldenGate et comment les contourner.

Capture GoldenGate pour le cluster MySQL InnoDB

Un problème connu peut arrêter la capture Oracle GoldenGate lors de la capture à partir d'un cluster MySQL InnoDB.

GoldenGate prend actuellement en charge les GTID standard, mais pas les GTID balisés. MySQL Shell 9.5 et versions ultérieures ajoute automatiquement une balise mysqlsh à certaines transactions administratives lorsqu'elles sont utilisées avec MySQL Server 8.3 ou versions ultérieures. Si GoldenGate rencontre ces transactions marquées, l'extraction basée sur GTID peut échouer.

Cela affecte la capture basée sur GTID pour le cluster MySQL InnoDB. La capture MySQL autonome à l'aide du numéro de journal et du décalage n'est pas affectée.

Comment éviter ce problème

Effectuez une action avant de mettre à niveau le cluster : utilisez MySQL Shell 9.4 ou une version antérieure pour la mise à niveau du cluster. N'utilisez pas MySQL Shell 9.5 ou version ultérieure pour les opérations de cluster lors de l'utilisation d'une extraction basée sur GTID GoldenGate.

Le choix de la version du shell après le démarrage de la mise à niveau est trop tard. Si MySQL Shell 9.5 ou version ultérieure ajoute des GTID balisés, l'extraction peut échouer ; la récupération nécessite une resynchronisation complète.

Solution de contournement

Vous pouvez mettre à niveau MySQL Server vers la version 8.3 ou ultérieure, mais utilisez MySQL Shell 9.4 ou une version antérieure pour installer, configurer ou mettre à niveau le cluster InnoDB. Effectuez cette opération avant de configurer l'extraction GoldenGate.

La révocation du privilège TRANSACTION_GTID_TAG n'est pas une solution de contournement valide et peut entraîner l'échec des opérations de shell MySQL, telles que l'ajout ou la suppression d'une instance.

Remarque de sécurité : MySQL Shell 9.4 contient les vulnérabilités traitées dans les versions ultérieures. Passez en revue les implications en matière de sécurité avec votre équipe de sécurité avant d'utiliser cette solution de contournement temporaire.

Réplication Apache Iceberg à l'aide du catalogue de données AWS Glue et des buckets Amazon S3

Dans les réplications Apache Iceberg utilisant AWS Glue Data Catalog et les buckets AWS S3, vous pouvez rencontrer l'erreur suivante :

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]

Solution de contournement : mettez à jour le fichier gg.classpath comme suit :

gg.classpath=$THIRD_PARTY_DIR/iceberg/*:$THIRD_PARTY_DIR/s3/*:$THIRD_PARTY_DIR/hadoop/*::$THIRD_PARTY_DIR/s3/*:$THIRD_PARTY_DIR/glue/*

Problème lié au protocole de sécurité TLS

Protocole de sécurité TLS MongoDB, DocumentDB et Oracle JSON Collection

Si la connexion de réplication MongoDB, de réplication DocumentDB ou de collecte Oracle JSON échoue avec l'erreur suivante dans le fichier de rapport :

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

Solution de contournement : ajoutez la propriété suivante au fichier de propriétés, mettez à jour <connection_ocid> avec l'OCID de connexion et conservez le reste tel quel.

jvm.bootoptions=-Djavax.net.ssl.trustStore=/u02/connections/<connection_ocid>/truststore.pkcs12 -Djavax.net.ssl.trustStorePassword=Welcome123

Bug 37518857 : OGGDAA GGS Snowflake Streaming Erreur de réplication

Le gestionnaire de diffusion Snowflake échoue avec : Exception: java.lang.StackOverflowError thrown from the UncaughtExceptionHandler in thread "process reaper"

Solution de contournement : ajoutez les éléments suivants à votre fichier de propriétés de réplication :

jvm.bootoptions= -Djdk.lang.processReaperUseDefaultStackSize=true

La console de déploiement OCI GoldenGate ne peut pas afficher un fichier de suppression nommé personnalisé/non par défaut

Par défaut, les fichiers ignorés respectent la convention de dénomination <process-name>.dsc. Vous pouvez voir tous les fichiers de rebut dans la console de déploiement OCI GoldenGate, sauf si vous les avez renommés. La console de déploiement n'affiche pas les fichiers de rebut nommés personnalisés.

Solution de contournement : utilisez l'outil Collecter les diagnostics sur la page de détails du déploiement pour accéder aux fichiers de rebut.

Les réplications échouent lors de l'utilisation du fichier trace de l'extraction MongoDB avec BINARY_JSON_FORMAT

Lorsqu'un processus Replicat utilise un fichier trace généré à partir d'une extraction MongoDB avec BINARY_JSON_FORMAT dans le fichier de paramètres d'extraction, le processus Replicat échoue avec l'erreur suivante :

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)

Solution de contournement : lorsque BINARY_JSON_FORMAT est enlevé des paramètres d'extraction, le processus Replicat s'exécute correctement et les documents sont représentés au format JSON étendu.

Echec des extractions de capture de données de modification à distance pour les bases de données compatibles GTID

Lorsque vous créez un processus d'extraction de capture de données de modification avec l'option Distant activée pour une base de données MySQL qui utilise des identificateurs de transaction globaux (GTID), le processus d'extraction échoue et l'erreur suivante est signalée :

ERROR   OGG-25192  Trail file '<trail name>' is remote. Only local trail allowed for this extract.

Solution de contournement : sur l'écran Fichier de fichiers de paramètres de l'extraction de capture de données de modification, enlevez la ligne TRANLOGOPTIONS ALTLOGDEST REMOTE.

Pour plus d'informations, reportez-vous à Utilisation d'Oracle GoldenGate pour MySQL.

Chemins de distribution : ajoutez le certificat racine à la gestion des certificats ou au portefeuille client.

Pour envoyer des données à OCI GoldenGate ou en extraire des données, vous devez créer un chemin de serveur de distribution ou un chemin lancé à partir de la cible sur le serveur de destinataire dans votre instance Oracle GoldenGate sur site ou Marketplace, respectivement. Vous devez également ajouter le certificat racine ou le certificat auto-signé OCI GoldenGate à la gestion des certificats Oracle GoldenGate (Oracle GoldenGate 21c ou version ultérieure) ou au portefeuille client (Oracle GoldenGate 19c). Cette opération crée une connexion sécurisée entre les déploiements Oracle GoldenGate et OCI GoldenGate. Seul le protocole WSS (WebSocket Secure) est pris en charge pour les chemins de serveur de distribution et de destinataire entre Oracle GoldenGate et OCI GoldenGate.

Une modification du certificat racine OCI GoldenGate entraîne l'échec du chemin du serveur de distribution ou d'un chemin lancé à partir de la cible sur le serveur de destinataire dans votre instance Oracle GoldenGate sur site ou Marketplace, et génère l'erreur suivante :

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.

Solution de contournement : pour résoudre ce problème, mettez à jour le certificat dans le portefeuille client ou dans l'écran Gestion des certificats du Gestionnaire de services afin d'utiliser le certificat racine de l'instance OCI GoldenGate Deployment Console. Dans certains cas, lorsque le certificat du déploiement OCI GoldenGate n'est pas signé directement par le certificat racine, mais par un ou plusieurs certificats intermédiaires, par exemple, il peut être nécessaire d'ajouter également les certificats CA intermédiaires.

En savoir plus:

Seule l'authentification Digest est actuellement prise en charge.

Oracle Cloud Infrastructure GoldenGate ne prend actuellement pas en charge l'authentification basée sur un certificat lorsque vous utilisez Oracle Cloud Infrastructure GoldenGate comme cible de chemin de distribution.

Solution de contournement : aucune.