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

Pour accéder au déploiement :

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 :

  1. Connectez-vous au service d'administration Oracle GoldenGate : https://localhost:<localPort>/services/<deployment_name>/adminsrvr/v2/content/.

  2. Dans le menu de navigation de gauche, sélectionnez Connexions de base de données.

  3. Sur la page Connexions à la base de données, sélectionnez Ajouter une connexion à la base de données (icône Plus).

  4. 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 :

  1. Connectez-vous au fichier GoldenGate WebUI pour le déploiement Source GoldenGate.

  2. Dans le menu de navigation, sélectionnez Profils de processus gérés.

  3. Sélectionnez Ajouter un profil sur la page Paramètres du processus géré.

  4. 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

  5. Sélectionnez Soumettre.

  6. 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

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 ", où la valeur est le nombre de secondes pendant lesquelles la base de données de secours n'est pas disponible avant l'abandon.

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 :

  1. Connectez-vous à l'instance Oracle GoldenGate source.

  2. Dans le menu de navigation, sélectionnez Extractions.

  3. Sur la page Extractions, sélectionnez Ajouter une extraction.

  4. Remplissez le formulaire Ajouter une extraction comme suit :

    1. 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

    2. 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

  5. Sélectionnez Suivant.

  6. Si vous utilisez la capture racine de base de données Conteneur à partir d'une base de données pluggable, ajoutez le paramètre SOURCECATALOG avec le nom de la base de données pluggable

  7. 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.

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 :

  1. Connectez-vous à l'interface utilisateur Web Oracle GoldenGate.

  2. Dans le menu de navigation, sélectionnez Connexions de base de données, puis connectez-vous à la base de données cible.

  3. Une fois la connexion à la base de données cible établie, sélectionnez Table de point de reprise.

  4. Sélectionnez Ajouter une adresse (icône Plus). La page Add Checkpoint s'affiche.

  5. Pour la table de point de reprise, entrez ggadmin.chkp_table.

  6. 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 :

  1. Dans le menu de navigation, sélectionnez Réplications.

  2. Sur la page Réplications, sélectionnez Ajouter une réplication (icône Plus). La page Ajouter une réplication s'affiche.

  3. Sélectionnez un type de réplication et sélectionnez Suivant.

  4. 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"

  5. Sélectionnez Suivant.

  6. 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

Image de la suite

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

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.

  1. Connectez-vous à l'interface utilisateur Web GoldenGate pour la cible GoldenGate.

  2. 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

  1. Dans l'interface utilisateur Web GoldenGate cible, sélectionnez Administration des utilisateurs dans la navigation de gauche.

  2. Sélectionnez Ajouter un nouvel utilisateur, puis procédez comme suit :

    1. Authentifié par : sélectionnez Mot de passe dans la liste déroulante.

    2. Rôle : sélectionnez Operator (Opérateur) dans la liste déroulante.

    3. Nom utilisateur : entrez votre nom utilisateur.

    4. Mot de passe et Vérifier un mot de passe : saisissez le mot de passe associé à cet utilisateur.

  3. 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.

  1. Connectez-vous à l'instance Oracle GoldenGate source.

  2. Dans le menu de navigation, sélectionnez Connexions de chemin.

  3. Sur la page Connexions de chemin, sélectionnez Ajouter une connexion de chemin, puis effectuez les opérations suivantes :

    1. Alias d'informations d'identification : saisissez un alias.

    2. ID utilisateur : saisissez le nom de l'utilisateur créé à l'étape 2.5.3.2.

    3. Mot de passe et Vérifier un mot de passe : saisissez le mot de passe associé à cet utilisateur à l'étape 2.5.3.2.

  4. 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 :

  1. Dans Oracle GoldenGate source, sélectionnez Chemins de service de distribution dans le menu de navigation.

  2. Sélectionnez Ajouter un chemin (icône Plus). La page Add Path s'affiche.

  3. Entrez les détails comme suit :

    1. Entrez un nom de chemin.

    2. Dans Source, sélectionnez le nom de l'extraction dans le menu déroulant.

    3. Dans URI source généré, entrez localhost pour le nom du serveur. Cela permet au chemin de distribution de partir de n'importe quel noeud Oracle RAC.

    4. Dans Méthode d'authentification cible, sélectionnez Alias d'ID utilisateur.

    5. Pour Cible, sélectionnez wss (socket Web sécurisé).

    6. Pour Hôte cible, entrez le nom d'hôte/VIP cible à utiliser pour la connexion au système cible.

    7. Pour Port Number, entrez le numéro de port avec lequel NGINX a été configuré (la valeur par défaut est 443).

    8. Pour Domaine, sélectionnez le domaine d'informations d'identification créé à l'étape 2.3.3.3.

    9. Pour Alias, sélectionnez l'alias d'informations d'identification wssnet, également créé à l'étape 2.3.3.3.

    10. 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.

    11. Pour Retries, entrez 10.

    12. Pour Delay, qui est le temps en minutes de pause entre les tentatives de redémarrage, entrez 1.

  4. Sélectionnez Créer un chemin.

  5. Dans le menu Action, sélectionnez Démarrer.