Esegui upgrade dei microservizi Oracle GoldenGate mediante API REST

Scopri i passi per eseguire l'upgrade dei microservizi Oracle GoldenGate utilizzando le API REST.

A questo punto, è necessario disporre di una nuova home MA Oracle GoldenGate 26ai e di qualsiasi home release precedente di Oracle GoldenGate MA.

Aggiornare Service Manager

Dopo aver installato la versione MA più recente di Oracle GoldenGate, il passo successivo consiste nell'upgrade di Service Manager.

Se si utilizza l'agente Oracle Grid Infrastructure (XAG), disabilitare l'istanza GoldenGate prima di eseguire l'upgrade di Service Manager:

 $ agctl disable goldengate <GoldenGate Name>

Quando si esegue l'upgrade di Service Manager, è possibile utilizzare l'esempio cURL riportato di seguito per aggiornare la home 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"}'

In questa sintassi, immettere il percorso assoluto della nuova directory home di Oracle GoldenGate, ad esempio /u01/app/oracle/product/26ai/gghome_1.

Se non si utilizza XAG, controllare se Service Manager è in esecuzione dal nuovo $OGG_HOME utilizzando il seguente comando:

ps -ef | grep -i servicemanager

Se Service Manager non è in esecuzione, eseguire il comando seguente per riavviarlo:

cd $NEW_OGG_HOME/bin
$ ./ServiceManager

Se si utilizza XAG, aggiornare i parametri GoldenGate –gg_home e --oracle_home:

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

NOTA: se si utilizza XAG, è necessario aggiornare anche le distribuzioni gestite dal Service Manager aggiornato. Non è supportata l'esecuzione di distribuzioni in un Service Manager utilizzando una release software GoldenGate diversa o OGG_HOME in un Service Manager.

Upgrade di una distribuzione

Le distribuzioni possono essere aggiornate nello stesso passo con Service Manager oppure possono essere aggiornate in un secondo momento dopo l'aggiornamento di Service Manager.

Per aggiornare una distribuzione:

  1. Arrestare tutti i processi Extract e Replicat in modo esteso:

    • Verificare la presenza di una transazione aperta (lunga esecuzione) e di Bounded Recovery in quanto l'arresto dell'estrazione potrebbe richiedere più tempo.

    • Se sono visibili transazioni aperte non necessarie, ad esempio SEND EXTRACT group_name SHOWTRANS, è possibile ignorare o forzare immediatamente l'interruzione di tali transazioni. In questo caso, è possibile recuperare un checkpoint Bounded Recovery utilizzando il seguente comando:

      SEND EXTRACT group_name, BR BRCHECKPOINT immediate

  2. (Solo per Oracle GoldenGate for Oracle AI Database) La funzione Unified Build richiede che solo TNS_ADMIN venga modificato in base al software Oracle Database Client all'interno di 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: quando si esegue l'aggiornamento da 21c a 26ai, questo passo non è necessario. Se l'upgrade da Oracle GoldenGate 19c (o versione precedente) a 26ai, è necessaria solo la variabile di ambiente TNS_ADMIN.

    La variabile di ambiente OGG_HOME può rilevare automaticamente DATABASE_HOME, LD_LIBRARY_PATH e JAVA_HOME.

  3. (Solo per Oracle GoldenGate per SQL Server) Oracle GoldenGate 26ai for SQL Server on Linux include un driver ODBC per la connettività del database. Anche se non è necessario, si consiglia di utilizzare il driver confezionato. Per utilizzare il driver all'interno del package, è necessario creare due nuove variabili di ambiente e aggiornare qualsiasi file odbc.ini creato in precedenza. Aggiungere le variabili di ambiente seguenti alla distribuzione:

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

    Dopo aver creato le nuove variabili di ambiente, copiare il file odbc.ini esistente nella cartella msodbc di Oracle GoldenGate e modificare il valore del driver ODBC di qualsiasi voce DSN nel modo seguente:

     Driver=Microsoft ODBC Driver for SQL Server
  4. Eseguire questo comando cURL per eseguire l'upgrade della distribuzione 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. Avviare tutte le estrazioni e le repliche.

    Se si utilizza XAG, riabilitare l'istanza GoldenGate dopo l'upgrade della distribuzione:

     $ agctl enable goldengate <GoldenGate Name>

Dopo il riavvio di Service Manager e della distribuzione, l'aggiornamento viene completato.

Nota: per Oracle GoldenGate for PostgreSQL, vedere Passi successivi all'upgrade prima di avviare qualsiasi estrazione.