Actualización de microservicios de Oracle GoldenGate mediante API de REST

Descubra los pasos para cambiar la versión de los microservicios de Oracle GoldenGate mediante las API de REST.

En este punto, debe tener un nuevo directorio raíz de Oracle GoldenGate 26ai MA y cualquier directorio raíz de versión anterior de Oracle GoldenGate MA.

Actualizar el gestor de servicios

Después de instalar la última versión de Oracle GoldenGate MA, el siguiente paso es actualizar el gestor de servicios.

Si utiliza el agente de Oracle Grid Infrastructure (XAG), desactive la instancia GoldenGate antes de actualizar el gestor de servicios:

 $ agctl disable goldengate <GoldenGate Name>

Al actualizar el gestor de servicios, puede utilizar el siguiente ejemplo de cURL para actualizar el directorio raíz de 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"}'

En esta sintaxis, introduzca la nueva ruta de acceso absoluta del directorio raíz de Oracle GoldenGate, como /u01/app/oracle/product/26ai/gghome_1.

Si no utiliza XAG, compruebe si Service Manager se está ejecutando desde el nuevo $OGG_HOME con el siguiente comando:

ps -ef | grep -i servicemanager

Si el gestor de servicios no se está ejecutando, ejecute el siguiente comando para reiniciarlo:

cd $NEW_OGG_HOME/bin
$ ./ServiceManager

Si utiliza XAG, actualice los parámetros GoldenGate –gg_home y --oracle_home:

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

NOTA: Si utiliza XAG, los despliegues gestionados por el gestor de servicios actualizado también DEBEN actualizarse. No se admite la ejecución de despliegues en un gestor de servicios mediante una versión de software GoldenGate diferente o OGG_HOME en el gestor de servicios.

Actualización de un Despliegue

Los despliegues se pueden actualizar en el mismo paso con el gestor de servicios, o se pueden actualizar posteriormente después de que se haya actualizado el gestor de servicios.

Para cambiar la versión de un despliegue:

  1. Pare todos los procesos de Extract y Replicat correctamente:

    • Compruebe si hay una transacción abierta (de larga ejecución) y una recuperación enlazada, ya que puede tardar más en detener Extract correctamente.

    • Si se pueden ver transacciones abiertas innecesarias, por ejemplo SEND EXTRACT group_name SHOWTRANS, esas transacciones se pueden omitir o forzar de inmediato a detenerse. En este caso, se puede recuperar un punto de control de recuperación enlazada mediante el siguiente comando:

      SEND EXTRACT group_name, BR BRCHECKPOINT immediate

  2. (Solo para Oracle GoldenGate for Oracle AI Database) La función de compilación unificada solo requiere que TNS_ADMIN se ajuste al software del cliente de Oracle Database en 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"} ] }'

    Nota: Al actualizar de 21c a 26ai, este paso no es necesario. Si actualiza de Oracle GoldenGate 19c (o anterior) a 26ai, solo necesita la variable de entorno TNS_ADMIN.

    La variable de entorno OGG_HOME puede detectar automáticamente DATABASE_HOME, LD_LIBRARY_PATH y JAVA_HOME.

  3. (Solo Oracle GoldenGate para SQL Server) Oracle GoldenGate 26ai para SQL Server en Linux incluye un controlador ODBC para la conectividad de la base de datos. Aunque no es necesario, se recomienda utilizar el controlador empaquetado. Para utilizar el controlador empaquetado, se deben crear dos nuevas variables de entorno y se debe actualizar cualquier archivo odbc.ini creado anteriormente. Agregue las siguientes variables de entorno al despliegue:

     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*"}] }'

    Después de crear las nuevas variables de entorno, copie el archivo odbc.ini existente en la carpeta msodbc de Oracle GoldenGate y cambie el valor del controlador ODBC de cualquier entrada DSN a lo siguiente:

     Driver=Microsoft ODBC Driver for SQL Server
  4. Ejecute este comando de cURL para actualizar el despliegue de 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. Inicie todos los Extracts y Replicats.

    Si utiliza XAG, vuelva a activar la instancia GoldenGate después de actualizar el despliegue:

     $ agctl enable goldengate <GoldenGate Name>

Cuando el gestor de servicios y el despliegue se han reiniciado, se completa la actualización.

Nota: Para Oracle GoldenGate for PostgreSQL, consulte Pasos posteriores al cambio de versión antes de iniciar las extracciones.