REST APIを使用したOracle GoldenGate Microservicesアップグレード

REST APIを使用してOracle GoldenGate Microservicesをアップグレードするためのステップを説明します。

この時点で、新しいOracle GoldenGate 26ai MAホームと、Oracle GoldenGate MAの以前のリリース・ホームが必要です。

サービス・マネージャのアップグレード

最新のOracle GoldenGate MAバージョンをインストールした後、次のステップはサービス・マネージャをアップグレードすることです。

Oracle Grid Infrastructure Agent (XAG)を使用する場合は、サービス・マネージャをアップグレードする前にGoldenGateインスタンスを無効にします。

 $ agctl disable goldengate <GoldenGate Name>

サービス・マネージャをアップグレードする場合、次のcURLの例を使用して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"}'

この構文では、/u01/app/oracle/product/26ai/gghome_1のような、新しいOracle GoldenGateホーム・ディレクトリの絶対ディレクトリ・パスを入力します。

XAGを使用していない場合は、次のコマンドを使用して、サービス・マネージャが新しい$OGG_HOMEから実行されているかどうかを確認してください。

ps -ef | grep -i servicemanager

サービス・マネージャが実行されていない場合は、次のコマンドを実行して再起動します。

cd $NEW_OGG_HOME/bin
$ ./ServiceManager

XAGを使用する場合は、GoldenGate –gg_homeおよび--oracle_homeパラメータを更新します。

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

注意: XAGを使用している場合は、アップグレードされたService Managerによって管理されるデプロイメントもアップグレードする必要があります。別のGoldenGateソフトウェア・リリースまたはOGG_HOMEを使用してサービス・マネージャでデプロイメントを実行することはサポートされません。

デプロイメントのアップグレード

デプロイメントは、サービス・マネージャと同じステップでアップグレードするか、サービス・マネージャがアップグレードされた後、後でアップグレードできます。

デプロイメントをアップグレードするには:

  1. すべてのExtractおよびReplicatプロセスを正常に停止します。

    • Extractの正常な停止に時間がかかる可能性があるため、オープン(長時間実行)トランザクションおよびBounded Recoveryがあるか確認します。

    • 不要なオープン・トランザクション(SEND EXTRACT group_name SHOWTRANSなど)が表示されている場合は、それらのトランザクションをスキップするか、ただちに強制的に停止できます。この場合、次のコマンドを使用してBounded Recoveryチェックポイントを取得できます。

      SEND EXTRACT group_name, BR BRCHECKPOINT immediate

  2. (Oracle GoldenGate for Oracle AI Databaseのみ)統合ビルド機能では、TNS_ADMINのみをOracle GoldenGate内のOracle Database Clientソフトウェアに調整する必要があります。

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

    注意: 21cから26aiにアップグレードする場合、この手順は不要です。Oracle GoldenGate 19c以前から26aiにアップグレードする場合、必要な環境変数はTNS_ADMINのみです。

    OGG_HOME環境変数は、DATABASE_HOME、LD_LIBRARY_PATHおよびJAVA_HOMEを自動的に検出できます。

  3. (Oracle GoldenGate for SQL Serverのみ) Linux上のOracle GoldenGate 26ai for SQL Serverには、データベース接続用のODBCドライバが含まれています。必須ではありませんが、パッケージ・ドライバを使用することをお薦めします。パッケージ・ドライバを使用するには、2つの新しい環境変数を作成し、以前に作成したodbc.iniファイルを更新する必要があります。次の環境変数をデプロイメントに追加します:

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

    新しい環境変数を作成した後、既存のodbc.iniファイルをOracle GoldenGateのmsodbcフォルダにコピーし、DSNエントリのODBCドライバ値を次のように変更します。

     Driver=Microsoft ODBC Driver for SQL Server
  4. 次のcURLコマンドを実行して、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. すべてのExtractおよびReplicatを起動します。

    XAGを使用している場合は、デプロイメントのアップグレード後にGoldenGateインスタンスを再度有効にします。

     $ agctl enable goldengate <GoldenGate Name>

サービス・マネージャおよびデプロイメントが再開されると、アップグレードが完了します。

ノート: Oracle GoldenGate for PostgreSQLについては、Extractを起動する前にアップグレード後のステップを参照してください。