Tâche 2 : configurer l'environnement Oracle GoldenGate
Pour effectuer cette tâche, procédez comme suit :
-
Etape 2.1 - Accès au déploiement GoldenGate
-
Etape 2.2 - Création des informations d'identification de base de données
-
Etape 2.3 - Créer des profils de démarrage automatique
-
Etape 2.4 - Configurer les processus Oracle GoldenGate
Etape 2.1 : Accès au déploiement
Pour accéder au déploiement :
-
Si le sous-réseau client est public, vous pouvez accéder aux noeuds à l'aide de l'adresse IP virtuelle et du tunnel SSH. Vous devez créer un tunnel SSH avec le nom DNS VIP sur les clusters principal et de secours à l'aide de la commande suivante sur tous les noeuds :
ssh -N -L <local_port>:<vip-dns-name>:443 -p 22 <gghub-node>local_portpeut être n'importe quel port disponible sur le système local.gghub-nodeest le nom du cluster sur lequel le tunnel est configuré.Oracle recommande de gérer GoldenGate à l'aide des noms DNS d'adresse IP virtuelle principale et de secours comme suit :
-
Nom DNS de l'adresse IP virtuelle principale :
<cluster-prefix>1.ggoraclevcn.com -
Nom DNS d'adresse IP virtuelle de secours :
<cluster-prefix>2.ggoraclevcn.com
Vous pouvez ensuite accéder au déploiement à l'aide de votre navigateur Web à l'aide de
https://localhost:<local_port> -
-
Si le sous-réseau client est privé,
-
Vous devez créer un bastion pour le sous-réseau client avec les valeurs suivantes :
-
VCN cible : sélectionnez votre VCN
-
Sous-réseau cible : nom du sous-réseau client
-
Liste d'autorisation de bloc CIDR : entrez ou sélectionnez les adresses IP ou les plages d'adresses pour autoriser les connexions aux ressources cible à l'aide de sessions SSH.
-
-
Créez une session de transfert de port SSH à l'aide de l'adresse IP virtuelle principale et de l'adresse IP virtuelle de secours avec le port 443. En savoir plus sur la création de sessions de transfert de port.
-
Dans le menu Actions de la session (trois points), sélectionnez Afficher la commande SSH et Copier.
-
Exécutez la commande SSH en vous assurant de remplacer
<privateKey>par le chemin de clé privée local et443par<localPort>. En savoir plus sur la connexion à une connexion de transmission de port -
Vous pouvez ensuite accéder au déploiement à l'aide du navigateur Web à l'aide de
https://localhost.
-
Etape 2.2 : Créer des informations d'identification de base de données
Utilisez l'interface utilisateur des microservices Oracle GoldenGate pour créer les informations d'identification de base de données à l'aide des noms d'alias TNS ci-dessus. En tant qu'utilisateur oggadmin, ajoutez les informations d'identification de base de données :
-
Connectez-vous au service d'administration Oracle GoldenGate :
https://localhost:<localPort>/services/<deployment_name>/adminsrvr/v2/content/. -
Dans le menu de navigation de gauche, sélectionnez Connexions de base de données.
-
Sur la page Connexions à la base de données, sélectionnez Ajouter une connexion à la base de données (icône Plus).
-
Ajoutez les informations requises pour chaque base de données Conteneur et base de données pluggable source et cible :
Région Conteneur Domaine Alias ID utilisateur Région 1 Base de données Conteneur GoldenGate Reg1_CDB c##ggadmin@ Région 1 Base de données pluggable GoldenGate Reg1_PDB ggadmin@ Région 2 Base de données Conteneur GoldenGate Reg2_CDB c##ggadmin@ Région 2 Base de données pluggable GoldenGate Reg2_PDB ggadmin@
Etape 2.3 : Créer des profils de démarrage automatique
Créez un profil qui démarre automatiquement les processus Extract et Replicat lorsque le serveur d'administration Oracle GoldenGate démarre, puis redémarre si des processus Extract ou Replicat sont abandonnés. Dans les microservices GoldenGate, les profils gèrent le démarrage et le redémarrage automatiques.
A l'aide de l'interface utilisateur du serveur d'administration Oracle GoldenGate, créez un profil à affecter à chaque processus Oracle GoldenGate :
-
Connectez-vous au fichier GoldenGate WebUI pour le déploiement Source GoldenGate.
-
Dans le menu de navigation, sélectionnez Profils de processus gérés.
-
Sélectionnez Ajouter un profil sur la page Paramètres du processus géré.
-
Entrez les détails comme suit :
-
Nom du profil : Start_Default
-
Description : profil de démarrage/redémarrage automatique par défaut
-
Profil par défaut : Oui
-
Démarrage automatique : Oui
-
Options de démarrage automatique
-
Délai de démarrage : 1 minute
-
Redémarrage automatique : Oui
-
-
Options de redémarrage automatique
-
Nombre maximal de nouvelles tentatives : 5
-
Délai de nouvelle tentative : 30 secondes
-
Fenêtre Nouvelles tentatives : 30 min
-
Redémarrer en cas d'échec uniquement : Oui
-
Désactiver la tâche après le nombre maximal de nouvelles tentatives atteint : Oui
-
-
-
Sélectionnez Soumettre.
-
Répétez ces étapes sur le déploiement GoldenGate cible.
Etape 2.4 : Configurer les processus Oracle GoldenGate
Lors de la création de processus Extract, Distribution Paths et Replicat avec l'architecture de microservices Oracle GoldenGate, tous les fichiers qui doivent être partagés entre les noeuds GGHub sont déjà partagés avec les fichiers de déploiement stockés sur un système de fichiers partagé.
Voici les détails de configuration essentiels recommandés pour exécuter les microservices Oracle GoldenGate sur GGhub pour les processus d'extraction, de distribution et de réplication.
Pour effectuer cette étape, procédez comme suit :
-
Etape 2.5.1 - Configuration de l'extraction
-
Etape 2.5.2 - Configuration de la réplication
-
Etape 2.5.3 - Configuration du chemin de distribution
Etape 2.5.1 : configuration de l'extraction
Lorsque vous créez une extraction à l'aide de l'interface du service d'administration Oracle GoldenGate, laissez le paramètre de sous-répertoire de trace vide afin que les fichiers de trace soient automatiquement créés dans les répertoires de déploiement stockés sur le système de fichiers partagé. L'emplacement par défaut des fichiers trace est le répertoire /<deployment directory>/var/lib/data.
Remarque : pour effectuer une capture à partir d'une base de données colocative, vous devez utiliser une extraction configurée au niveau racine à l'aide d'un compte c##. Pour appliquer des données à une base colocative, une réplication distincte est nécessaire pour chaque base de données pluggable car celle-ci se connecte au niveau de la base de données pluggable et n'a pas accès aux objets en dehors de cette base.
Pour les processus d'extraction GoldenGate utilisant des configurations Data Guard qui utilisent les modes de transport des informations de journalisation Maximum Performance ou Maximum Availability, le paramètre suivant doit être ajouté au fichier de paramètres du processus d'extraction sur le système principal afin d'éviter la perte de transactions et d'entraîner des incohérences dans les données logiques :
TRANLOGOPTIONS HANDLEDLFAILOVER
Ce paramètre empêche le processus Extract d'extraire les données de transaction des informations de journalisation qui n'ont pas encore été appliquées à la base de données de secours Data Guard. Ceci est essentiel pour empêcher Oracle GoldenGate de répliquer des données vers une base de données cible qui n'existe pas dans la base de données de secours source.
Si ce paramètre n'est pas spécifié, après un basculement en cas de perte de données de la base source, il est possible que des données de la base cible ne soient pas présentes dans la base source, ce qui entraîne des incohérences de données logiques.
Par défaut, au bout de 60 secondes, un message d'avertissement est écrit dans le fichier de rapport Extract lorsque le processus Extract est bloqué car il ne peut pas interroger les informations SCN appliquées à la base de données de secours. Exemple :
WARNING OGG-02721 Extract has been waiting for the standby database for 60 seconds.
La durée avant l'écriture du message d'avertissement dans le fichier de rapport Extract peut être ajustée à l'aide du paramètre Extract "TRANLOGOPTIONS HANDLEDLFAILOVER STANDBY_WARNING".
Si le processus Extract n'est toujours pas en mesure d'interroger les informations SCN appliquées à la base de données de secours au bout de 30 minutes (par défaut), il abandonne le processus Extract et consigne le message suivant dans le fichier de rapport Extract :
ERROR OGG-02722 Extract abended waiting for 1,800 seconds for the
standby database to be accessible or caught up with the primary database.
Si la base de données de secours devient disponible avant l'expiration du délai d'expiration par défaut de 30, le processus Extract continue d'extraire les données de la base de données source et signale le message suivant au fichier de rapport :
INFO OGG-02723 Extract resumed from stalled state and started processing LCRs.
La valeur du délai d'expiration de 30 minutes peut être ajustée à l'aide du paramètre d'extraction "TRANLOGOPTIONS HANDLEDLFAILOVER STANDBY_ABEND
Si la base de données de secours est indisponible pendant une durée prolongée, par exemple pendant une interruption de maintenance planifiée, et que vous souhaitez que le processus Extract continue à extraire des données de la base de données principale, supprimez le paramètre "TRANLOGOPTIONS HANDLEDLFAILOVER" du fichier de paramètres Extract et redémarrez le processus Extract (voir l'exemple ci-dessous dans les figures 4 à 6). N'oubliez pas de définir le paramètre une fois que la base de données de secours est disponible.
Remarque : si l'extraction à partir d'une base de données principale se poursuit alors que la base de données de secours n'est pas disponible, un basculement en cas de perte de données peut se produire une fois la base de données de secours disponible et toutes les informations de journalisation principales n'ont pas été appliquées avant un basculement. La base de données cible GoldenGate contiendra des données qui n'existent pas dans la base de données source.
Si un profil de redémarrage automatique a été affecté au processus d'extraction, le processus d'extraction redémarre automatiquement après une transition de rôle Data Guard. Le processus Extract continuera à extraire les données de journalisation de la nouvelle base de données principale, en ignorant l'état actuel de la nouvelle base de données de secours, jusqu'à ce qu'un délai d'expiration de 5 minutes par défaut expire. Après ce délai, si la base de données de secours n'est pas disponible, le processus Extract abandonne avec les erreurs suivantes :
INFO OGG-25053 Timeout waiting for 300 seconds for standby database
reinstatement. Now enforcing HANDLEDLFAILOVER.
ERROR OGG-06219 Unable to extract data from the Logmining server OGG$CAP_XXXXX.
ERROR OGG-02078 Extract encountered a fatal error in a processing thread and is
abending.
Le processus d'extraction continuera à redémarrer automatiquement, en fonction du profil de redémarrage automatique des microservices GoldenGate et en cas d'échec en raison de l'expiration HANDLEDLFAILOVER, jusqu'à ce que le nombre de nouvelles tentatives soit atteint ou que la nouvelle base de données de secours devienne disponible.
Pendant la période d'expiration suivant une transition de rôle de base de données, le paramètre HANDLEDLFAILOVER est automatiquement suspendu. Les données sont donc répliquées vers la base de données de réplique Oracle GoldenGate sans tenir compte du fait que la base de données de secours source n'est pas à jour. Le délai d'expiration du démarrage de la base de données de secours avant l'abandon de l'extraction peut être ajusté à l'aide du paramètre d'extraction TRANLOGOPTIONS DLFAILOVER_TIMEOUT.
Il est recommandé de laisser DLFAILOVER_TIMEOUT à la valeur par défaut de 5 minutes pour permettre à l'ancienne base de données principale de se convertir en base de données de secours. Si la nouvelle base de données de secours est indisponible pendant une longue période ou si elle a complètement disparu, vous devez enlever le paramètre HANDLEDLFAILOVER du fichier de paramètres Extract pour que le processus Extract démarre et reste en cours d'exécution. Une fois le paramètre supprimé, le processus Extract n'attend plus que les informations de journalisation aient été appliquées à la base de secours avant d'extraire les données.
Pendant le temps nécessaire à la remise en ligne de la base de données de secours et à l'application de toutes les informations de journalisation de la base de données principale, les données divergent entre celle-ci et la base de répliques Oracle GoldenGate. Elle sera résolue une fois que la base de données de secours sera à jour. A ce stade, ajoutez le paramètre HANDLEDLFAILOVER dans le fichier de paramètres de processus Extract intégré, puis arrêtez et redémarrez le processus Extract.
Lorsque la fonctionnalité Fast-Start Failover d'Oracle Data Guard est désactivée, de sorte que le broker puisse basculer automatiquement vers une base de données de secours en cas de perte de la base de données principale, vous devez indiquer un paramètre Extract intégré supplémentaire ci-dessous.
TRANLOGOPTIONS FAILOVERTARGETDESTID n
Ce paramètre identifie la base de données de secours à laquelle le processus Extract Oracle GoldenGate doit rester en retard en ce qui concerne l'absence d'extraction des données de journalisation qui n'ont pas encore été appliquées à la base de données de secours.
Si Oracle Data Guard Fast-Start Failover est désactivé et que vous n'indiquez pas le paramètre d'extraction intégré supplémentaire FAILOVERTARGETDESTID, l'extraction est abandonnée avec les erreurs suivantes :
ERROR OGG-06219 Unable to extract data from the Logmining server OGG$CAP_XXXXX.
ERROR OGG-02078 Extract encountered a fatal error in a processing thread and is abending.
Afin de déterminer la valeur correcte pour FAILOVERTARGETDESTID, utilisez le paramètre LOG_ARCHIVE_DEST_N de la base de données source GoldenGate qui est utilisé pour envoyer les informations de journalisation à la base de données de secours source. Par exemple, si LOG_ARCHIVE_DEST_2 pointe vers la base de données de secours, utilisez la valeur 2.
En tant qu'utilisateur oracle sur le système de base de données principale, exécutez la commande suivante :
[opc@exapri-node1 ~]$ sudo su - oracle
[oracle@exapri-node1 ~]$ source <db_name>.env
[oracle@exapri-node1 ~]$ sqlplus / as sysdba
SQL> show parameters log_archive_dest
NAME TYPE VALUE
--------------------- ----------- ---------------------------------------------------
log_archive_dest_1 string location=USE_DB_RECOVERY_FILE_DEST,
valid_for=(ALL_LOGFILES, ALL_ROLES)
log_archive_dest_2 string service="<db_name>", SYNC AFFIRM delay=0
optional compression=disable max_failure=0 reopen=300
db_unique_name="<db_name>" net_timeout=30,
valid_for=(online_logfile,all_roles)
Dans cet exemple, le paramètre Extract est défini comme suit :
TRANLOGOPTIONS FAILOVERTARGETDESTID 2
Créez l'extraction :
-
Connectez-vous à l'instance Oracle GoldenGate source.
-
Dans le menu de navigation, sélectionnez Extractions.
-
Sur la page Extractions, sélectionnez Ajouter une extraction.
-
Remplissez le formulaire Ajouter une extraction comme suit :
-
Pour les informations d'extraction :
-
Type d'extraction : Extraction intégrée.
-
Nom du processus : EXT_1
-
Description : extraction pour la base de données Conteneur de la région 1
-
-
Pour les options d'extraction :
-
Domaine d'informations d'identification : GoldenGate
-
Alias d'informations d'identification : Reg1_CDB
-
S'inscrire aux bases de données pluggables : Nom de la base de données pluggable
-
Intention : unidirectionnel
-
Commencer : maintenant
-
Nom de la piste : aa
-
-
-
Sélectionnez Suivant.
-
Si vous utilisez la capture racine de base de données Conteneur à partir d'une base de données pluggable, ajoutez le paramètre
SOURCECATALOGavec le nom de la base de données pluggable -
Sélectionnez Créer et exécuter.
Etape 2.5.2 - Configuration de la réplication
Oracle recommande généralement d'utiliser le processus Replicat parallèle intégré qui offre de meilleures performances d'application pour la plupart des charges globales lorsque GGHUB se trouve dans la même région que la base de données Oracle GoldenGate cible.
Les meilleures performances d'application des modifications peuvent être obtenues lorsque la latence réseau entre le GGHUB et la base de données cible est aussi faible que possible. La configuration suivante est recommandée pour le processus Replicat distant exécuté sur Oracle GGHUB.
-
APPLY_PARALLELISM: désactive le parallélisme automatique, au lieu d'utiliserMAX_APPLY_PARALLELISMetMIN_APPLY_PARALLELISM, et autorise la plus grande quantité d'accès simultané à la base de données cible. Il est recommandé de définir cette valeur aussi haut que possible en fonction de l'UC disponible du hub et du serveur de base de données cible. -
MAP_PARALLELISM: doit être défini avec une valeur comprise entre 2 et 5. Avec un plus grand nombre d'appliers, l'augmentation du nombre de Mappers augmente la possibilité de confier le travail aux appliers. -
BATCHSQL: applique les instructions LMD à l'aide du traitement de baie, ce qui réduit les surcharges réseau avec un réseau à latence plus élevée. Sachez que s'il existe de nombreux conflits de données,BATCHSQLentraîne une réduction des performances, car l'annulation des opérations de batch est suivie d'une relecture du fichier trace à appliquer en mode non batch.
Etape 2.5.2.1 : création de la table de point de reprise
La table de points de reprise est un composant requis pour les processus Replicat Oracle GoldenGate. Après vous être connecté à la base de données à partir de la page Informations d'identification du service d'administration, vous pouvez créer la table de points de reprise.
Créez la table de points de reprise dans le déploiement cible :
-
Connectez-vous à l'interface utilisateur Web Oracle GoldenGate.
-
Dans le menu de navigation, sélectionnez Connexions de base de données, puis connectez-vous à la base de données cible.
-
Une fois la connexion à la base de données cible établie, sélectionnez Table de point de reprise.
-
Sélectionnez Ajouter une adresse (icône Plus). La page Add Checkpoint s'affiche.
-
Pour la table de point de reprise, entrez
ggadmin.chkp_table. -
Sélectionnez Soumettre.
Reportez-vous à Ajout d'une table de point de reprise.
Etape 2.5.2.2 : ajout d'une réplication
Une fois les connexions de base de données configurées et vérifiées, vous pouvez ajouter une réplication pour le déploiement en procédant comme suit :
-
Dans le menu de navigation, sélectionnez Réplications.
-
Sur la page Réplications, sélectionnez Ajouter une réplication (icône Plus). La page Ajouter une réplication s'affiche.
-
Sélectionnez un type de réplication et sélectionnez Suivant.
-
Entrez les détails comme suit :
-
Nom du processus : REP_1
-
Description : réplication pour la base de données pluggable de région 2
-
Intention : unidirectionnel
-
Domaine d'informations d'identification : GoldenGate
-
Alias d'informations d'identification : Reg2_PDB
-
Source : Trace
-
Nom de la piste : aa
-
Début : Position dans le fichier journal
-
Table de points de reprise : "GGADMIN"."CHKP_TABLE"
-
-
Sélectionnez Suivant.
-
Dans le menu Action, sélectionnez Démarrer.
Etape 2.5.3 - Configuration du chemin de distribution
Les chemins de distribution ne sont nécessaires que lorsque des fichiers trace doivent être envoyés à un hub Oracle GoldenGate supplémentaire dans une région différente, voire identique, comme décrit dans la figure suivante.
Figure 1 : Chemin de distribution Oracle GoldenGate

Lorsque vous utilisez des chemins de distribution Oracle GoldenGate avec le proxy inverse NGINX, des étapes supplémentaires doivent être effectuées pour vous assurer que les certificats client et serveur de chemin sont configurés.
Pour plus d'informations, reportez-vous à Chemin du service de distribution. Un exemple étape par étape est présenté dans la vidéo suivante, "Connexion d'une instance Oracle GoldenGate sur site à OCI GoldenGate à l'aide de NGINX" pour configurer correctement les certificats.
Les étapes de cette sous-étape sont les suivantes :
-
Etape 2.5.3.1 : téléchargement du certificat racine du serveur cible, puis téléchargement vers le serveur Oracle GoldenGate source
-
Etape 2.5.3.2 : créer un utilisateur dans le déploiement cible pour qu'Oracle GoldenGate source l'utilise
-
Etape 2.5.3.3 : création d'informations d'identification dans Oracle GoldenGate source
-
Etape 2.5.3.4 : création d'un chemin de distribution sur la source Oracle GoldenGate vers le déploiement cible
-
Etape 2.5.3.5 : vérification de la connexion dans le service de destinataire de la console de déploiement cible
Etape 2.5.3.1 : téléchargement du certificat racine du serveur cible, puis téléchargement vers le serveur Oracle GoldenGate source
Téléchargez le certificat racine du serveur de déploiement cible et ajoutez le certificat CA au gestionnaire de services de déploiement source.
-
Connectez-vous à l'interface utilisateur Web GoldenGate pour la cible GoldenGate.
-
Suivez l'étape 2 - Télécharger le certificat racine du serveur cible dans la vidéo Connexion d'une instance Oracle GoldenGate sur site à OCI GoldenGate à l'aide de NGINX.
Etape 2.5.3.2 : créer un utilisateur dans le déploiement cible pour qu'Oracle GoldenGate source l'utilise
-
Dans l'interface utilisateur Web GoldenGate cible, sélectionnez Administration des utilisateurs dans la navigation de gauche.
-
Sélectionnez Ajouter un nouvel utilisateur, puis procédez comme suit :
-
Authentifié par : sélectionnez Mot de passe dans la liste déroulante.
-
Rôle : sélectionnez Operator (Opérateur) dans la liste déroulante.
-
Nom utilisateur : entrez votre nom utilisateur.
-
Mot de passe et Vérifier un mot de passe : saisissez le mot de passe associé à cet utilisateur.
-
-
Sélectionnez Soumettre.
Etape 2.5.3.3 : création d'une connexion de chemin dans Oracle GoldenGate source
Créez une connexion de chemin dans le déploiement source en connectant le déploiement cible à l'utilisateur créé à l'étape précédente. Par exemple, un domaine OP2C et un alias de WSSNET.
-
Connectez-vous à l'instance Oracle GoldenGate source.
-
Dans le menu de navigation, sélectionnez Connexions de chemin.
-
Sur la page Connexions de chemin, sélectionnez Ajouter une connexion de chemin, puis effectuez les opérations suivantes :
-
Alias d'informations d'identification : saisissez un alias.
-
ID utilisateur : saisissez le nom de l'utilisateur créé à l'étape 2.5.3.2.
-
Mot de passe et Vérifier un mot de passe : saisissez le mot de passe associé à cet utilisateur à l'étape 2.5.3.2.
-
-
Sélectionnez Soumettre.
Etape 2.5.3.4 : création d'un chemin de distribution sur la source Oracle GoldenGate vers le déploiement cible
Un chemin est créé pour envoyer les fichiers trace du serveur de distribution vers le serveur de réception. Vous pouvez créer un chemin à partir du service de distribution. Pour ajouter un chemin pour le déploiement source :
-
Dans Oracle GoldenGate source, sélectionnez Chemins de service de distribution dans le menu de navigation.
-
Sélectionnez Ajouter un chemin (icône Plus). La page Add Path s'affiche.
-
Entrez les détails comme suit :
-
Entrez un nom de chemin.
-
Dans Source, sélectionnez le nom de l'extraction dans le menu déroulant.
-
Dans URI source généré, entrez
localhostpour le nom du serveur. Cela permet au chemin de distribution de partir de n'importe quel noeud Oracle RAC. -
Dans Méthode d'authentification cible, sélectionnez Alias d'ID utilisateur.
-
Pour Cible, sélectionnez wss (socket Web sécurisé).
-
Pour Hôte cible, entrez le nom d'hôte/VIP cible à utiliser pour la connexion au système cible.
-
Pour Port Number, entrez le numéro de port avec lequel NGINX a été configuré (la valeur par défaut est 443).
-
Pour Domaine, sélectionnez le domaine d'informations d'identification créé à l'étape 2.3.3.3.
-
Pour Alias, sélectionnez l'alias d'informations d'identification wssnet, également créé à l'étape 2.3.3.3.
-
Pour Options de redémarrage automatique, définissez le chemin de distribution à redémarrer lorsque le serveur de distribution démarre automatiquement. Cette opération est requise, de sorte qu'aucune intervention manuelle n'est requise après le déplacement d'un noeud RAC du serveur de distribution.
-
Pour Retries, entrez 10.
-
Pour Delay, qui est le temps en minutes de pause entre les tentatives de redémarrage, entrez 1.
-
-
Sélectionnez Créer un chemin.
-
Dans le menu Action, sélectionnez Démarrer.