アップグレード後の手順

様々なアップグレード・シナリオでのアップグレード後のタスクについて説明します。

Oracle GoldenGateデータ・レプリケーションの設定を開始する前に完了する必要があるアップグレード後の手順が複数あります。これらのタスクは次のとおりです:

  • XAG構成のアップグレード

  • ハートビート表のアップグレード

  • (PostgreSQL用のOracle GoldenGateのみ) PostgreSQL Extractのアップグレード。

XAGのOracle GoldenGateインスタンス構成の更新

XAGを使用していて、アップグレード・プロセスの前に無効にした場合は、サービス・マネージャおよびデプロイメントのアップグレード後に、GoldenGateインスタンスを更新して再度有効にする必要があります。
  1. GoldenGateインスタンス・パラメータを新しいOracle GoldenGateホームおよびOracle Homeディレクトリで更新します:
    $ agctl modify goldengate instance_name  
    --gg_home New OGG_HOME directory 
    --oracle_home New OGG_HOME directory/lib/instantclient

    ノート:

    Oracle GoldenGate 21cソフトウェア統合ビルドの導入以降、ORACLE_HOMEディレクトリは$OGG_HOME/lib/instantclientに含まれています。
  2. Oracle GoldenGateインスタンスを再度有効にします:
    $ agctl enable goldengate instance_name

ハートビート表のアップグレード

アップグレードが完了したら、以前に作成されたソース・データベースおよびターゲット・データベースに対してUPGRADE HEARTBEATTABLEコマンドを実行して、表およびラグ・ビューに列を追加します。これらの追加の列は、Extractの再開位置の追跡に使用されます。詳細は、UPGRADE HEARTBEATTABLEを参照してください。

PostgreSQL用のOracle GoldenGateのためのExtractのアップグレード

PostgreSQLからのOracle GoldenGate CDCキャプチャ・サポートでは、WALから変更レコードを読み取るためにPostgreSQLデータベース上のレプリケーション・スロットを使用する必要があります。各CDC Extractで使用されるレプリケーション・スロット名は、Oracle GoldenGateのインストール・パスによって異なります。

アップグレード時までにExtractで変更レコードの取得が完了していなくても、アップグレード後に、既存のOracle GoldenGate環境にある同じExtractを使用して新しいOracle GoldenGate環境で変更レコードの取得を続行できます。ただし、これは、そのアップグレードに新しいOracle GoldenGateインストール・ディレクトリが使用されている場合はできなくなります。この作業を行うには、既存のOracle GoldenGateインストール・ディレクトリを使用する必要があります。

古いOracle GoldenGateバージョンをアップグレードするか、Oracle GoldenGate Classic ArchitectureからMicroservices Architectureに移行するには、次のステップを使用します:

ノート:

次のステップでは、例としてExtract名extnを使用します。
  1. 古い環境でOracle GoldenGate CDC Extractによって使用されていたレプリケーション・スロット名を取得します。古いレプリケーション・スロット名は、Extractレポート・ファイルから、またはINFO EXTRACTコマンドを実行することで取得できます。

    古いOracle GoldenGate環境にあるExtractレポート・ファイルから。次に、Extractレポート・ファイルにあるのスニペットの例を示します:
    2024-01-09 11:49:38  INFO    OGG-25376  Oracle GoldenGate capture 'EXTN' running with replication slot 'ext1_5d87a7db5e810943', slot type 'logical', plugin name
    as 'test_decoding' attached with database 'postgres' with slot restart LSN as '6/3CBFE2B8', flush LSN as '6/3CBFE2F0' and its current TXID as '7899713'.
    

    Extractレポート・ファイルにあるレプリケーション・スロット名を書き留めます。この例では、それはextn_5d87a7db5e810943です。

    次の例で示すように、古いOracle GoldenGate環境でGGSCIまたは管理クライアントからINFO EXTRACTコマンドを実行することもできます:
    GGSCI (phoenix96567 as postgres@pg12) 10> info extract extn
    出力:
    Extract    EXT1      Last Started 2024-01-09 11:49   Status RUNNING
    Checkpoint Lag       00:00:45 (updated 00:00:01 ago)
    Process ID           3640439
    VAM Read Checkpoint  2024-01-09 11:48:52.575833
    Replication Slot     extn_5d87a7db5e810943 is active with PID 3640450 in database postgres
    Slot Restart LSN     6/3CBFE2B8
    Slot Flush LSN       6/3CBFE2F0
    Current Log Position 6/3CBFE2F0
  2. 新しいOracle GoldenGate環境のOracle GoldenGate CDC Extractに関連のあるレプリケーション・スロット名を取得します。UNREGISTER EXTRACTコマンドを実行して新しいレプリケーション・スロット名を取得します:
    unregister extract extn
    出力:
    2024-01-09 11:43:37  INFO    OGG-25354  The replication slot 'extn_6ec0db7cc27c812' for group 'EXTN' does not exist in database 'postgres'.

    エラー・メッセージにあるレプリケーション・スロット名を書き留めます。この例では、それはextn_6ec0db7cc27c812です。

  3. 対応するソースPostgreSQLデータベースで次のSQL問合せを実行します(PSQLを使用可能)。
    SELECT * FROM pg_copy_logical_replication_slot('old-replication-slot', 'new-replication-slot');
    たとえば:
    SELECT * FROM pg_copy_logical_replication_slot('extn_5d87a7db5e810943', 'extn_6ec0db7cc27c812');
  4. Extractチェックポイント・ファイル、証跡ファイルおよびその他の構成ファイルを古いOracle GoldenGate環境から新しい環境にコピーしてください。

  5. new-replication-slotのLSN位置がold-replication-slotと同じであることを確認します。

  6. 古いOracle GoldenGate環境でUNREGISTER EXTRACT extract_nameコマンドを実行します。たとえば:
    UNREGISTER EXTRACT extn
  7. 新しいOracle GoldenGate環境でExtractを起動して、変更レコードの取得を再開します。