Mettre à niveau les microservices Oracle GoldenGate à l'aide d'API REST

Découvrez les étapes de mise à niveau des microservices Oracle GoldenGate à l'aide des API REST.

A ce stade, vous devez disposer d'un nouveau répertoire de base Oracle GoldenGate 26ai MA et de tous les répertoires de base de version antérieure d'Oracle GoldenGate MA.

Mettre à niveau le gestionnaire de services

Après avoir installé la dernière version d'Oracle GoldenGate MA, l'étape suivante consiste à mettre à niveau le gestionnaire de services.

Si vous utilisez l'agent Oracle Grid Infrastructure (XAG), désactivez l'instance GoldenGate avant de mettre à niveau le gestionnaire de services :

 $ agctl disable goldengate <GoldenGate Name>

Lors de la mise à niveau du gestionnaire de services, vous pouvez utiliser l'exemple cURL suivant pour mettre à jour le répertoire de base Oracle GoldenGate :

curl -u adminname:adminpwd -X PATCH \
   https://hostname:port/services/v2/deployments/ServiceManager \
  -H 'cache-control: no-cache' \
  -d '{"oggHome":"new OGG_HOME_absolute_path", "status":"restart"}'

Dans cette syntaxe, entrez le nouveau chemin absolu du répertoire de base Oracle GoldenGate, tel que /u01/app/oracle/product/26ai/gghome_1.

Si vous n'utilisez pas XAG, vérifiez si le gestionnaire de services est en cours d'exécution à partir du nouveau fichier $OGG_HOME, à l'aide de la commande suivante :

ps -ef | grep -i servicemanager

Si le gestionnaire de services n'est pas en cours d'exécution, exécutez la commande suivante pour le redémarrer :

cd $NEW_OGG_HOME/bin
$ ./ServiceManager

Si vous utilisez XAG, mettez à jour les paramètres GoldenGate –gg_home et --oracle_home :

$ agctl modify goldengate <GoldenGate Name>  --gg_home <New OGG_HOME directory> --oracle_home <New OGG_HOME directory>/lib/instantclient

REMARQUE : Si vous utilisez XAG, les déploiements gérés par le gestionnaire de services mis à niveau DOIVENT également être mis à niveau. Il n'est pas pris en charge d'exécuter des déploiements sous un gestionnaire de services à l'aide d'une autre version du logiciel GoldenGate ou de OGG_HOME vers le gestionnaire de services.

Mettre à niveau un déploiement

Les déploiements peuvent être mis à niveau en même temps que le gestionnaire de services, ou ils peuvent être mis à niveau ultérieurement après la mise à niveau du gestionnaire de services.

Pour mettre à niveau un déploiement, procédez comme suit :

  1. Arrêtez progressivement tous les processus Extract et Replicat :

    • Vérifiez la présence d'une transaction ouverte (à longue durée d'exécution) et d'une récupération délimitée car l'arrêt progressif de l'extraction peut prendre plus de temps.

    • Si des transactions ouvertes inutiles sont visibles, par exemple SEND EXTRACT group_name SHOWTRANS, ces transactions peuvent être ignorées ou immédiatement arrêtées. Dans ce cas, un point de reprise Bounded Recovery peut être extrait à l'aide de la commande suivante :

      SEND EXTRACT group_name, BR BRCHECKPOINT immediate

  2. (Oracle GoldenGate pour Oracle AI Database uniquement) La fonctionnalité de build unifié nécessite que seul TNS_ADMIN soit ajusté au logiciel client Oracle Database dans Oracle GoldenGate.

    curl -k -u adminname:adminpwd -X PATCH
    \  https://server.oracle.com:9000/services/v2/deployments/uat_01
    \  -H 'cache-control: no-cache'
    \  -d '{"environment": [, {"name": "TNS_ADMIN" , "value": "/u01/app/oracle/network/admin"} ] }'

    Remarque : lors de la mise à niveau de 21c vers 26ai, cette étape n'est pas nécessaire. Si vous effectuez une mise à niveau d'Oracle GoldenGate 19c (ou version antérieure) vers 26ai, vous avez uniquement besoin de la variable d'environnement TNS_ADMIN.

    La variable d'environnement OGG_HOME peut détecter automatiquement les éléments DATABASE_HOME, LD_LIBRARY_PATH et JAVA_HOME.

  3. (Oracle GoldenGate pour SQL Server uniquement) Oracle GoldenGate 26ai pour SQL Server sur Linux inclut un pilote ODBC pour la connectivité de base de données. Bien qu'il ne soit pas nécessaire, il est recommandé d'utiliser le pilote emballé. Pour utiliser le pilote packagé, deux nouvelles variables d'environnement doivent être créées et tout fichier odbc.ini précédemment créé doit être mis à jour. Ajoutez les variables d'environnement suivantes au déploiement :

     curl -k -u adminname:adminpwd -X PATCH
     \  https://server.oracle.com:9000/services/v2/deployments/uat_01
     \  -H 'cache-control: no-cache'
     \  -d '{"environment": [ , {"name": "ODBCSYSINI" , "value": "*${OGG_HOME}/msodbc*"}
                           , {"name": "ODBCINI"    , "value": "*${OGG_HOME}/msodbc/odbc.ini*"}] }'

    Après avoir créé les nouvelles variables d'environnement, copiez votre fichier odbc.ini existant dans le dossier Oracle GoldenGate msodbc et modifiez la valeur du pilote ODBC de toute entrée DSN comme suit :

     Driver=Microsoft ODBC Driver for SQL Server
  4. Exécutez la commande cURL suivante pour mettre à niveau le déploiement Oracle GoldenGate :

     curl -u SM username: SM password -X PATCH
    http://hostname:servicemanager port/services/v2/deployments/Deployment-name
    
    -H 'cache-control: no-cache'
    
    -d '{"oggHome":" new OGG_HOME complete path","status":"restart"}'
  5. Démarrez toutes les extractions et réplications.

    Si vous utilisez XAG, réactivez l'instance GoldenGate après avoir mis à niveau le déploiement :

     $ agctl enable goldengate <GoldenGate Name>

Une fois le gestionnaire de services et le déploiement redémarrés, la mise à niveau est terminée.

Remarque : pour Oracle GoldenGate pour PostgreSQL, reportez-vous à Etapes après la mise à niveau avant de démarrer des extractions.