移行ユーティリティを使用したClassicからMicroservices Architectureへの移行

Oracle GoldenGate ClassicからMicroservicesへの移行ユーティリティは、Oracle GoldenGate ClassicデプロイメントからMicroservicesデプロイメントへの移行に使用されます。このユーティリティは、ClassicデプロイメントからMicroservicesデプロイメントにExtractおよびReplicatを移行し、ポンプを分散パスに変換する対話型ユーティリティです。また、証跡ファイル、チェックポイントおよびその他の関連アーティファクトも移行されます。

移行ユーティリティは、My Oracle Support (MOS)ポータルでパッチ37274898として入手できます。パッチの更新は、必要に応じてリリースされます。パッチの説明には、最新のビルド番号の詳細が含まれています。

移行ユーティリティを使用するための前提条件

移行ユーティリティを使用するための前提条件を次に示します。
  • Oracle GoldenGate 19c以上(バンドル・パッチ200714以降)。

    ノート:

    移行ユーティリティは、基礎となるデータベース/システムが以前のバージョン(Oracle GoldenGate for DAAなど)でOracle GoldenGate Microservices Architectureをすでにサポートしている場合、Oracle GoldenGate 21cでも使用できます。基礎となるデータベースでMicroservices Architectureがサポートされていない場合は、異種データベース用のOracle GoldenGate 23aiを使用できます。
  • Javaバージョン1.8 JRE以降(Oracle GoldenGateによって提供されているものと同じもの)。

  • Microservices Architectureを使用して作成された新しいデプロイメントは、Classic Architectureデプロイメントに対してローカルである必要があります。または、Classic Architectureホームのファイル・システムが、同じホストで使用可能である必要があります。

  • 新しいMicroservices Architectureデプロイメントが作成され、すべてのサービスが実行されている。

  • Classic Architectureのデプロイメントは、移行中に停止する必要があります。サーバー・コレクタ(ある場合)も停止していることを確認します。異常終了したプロセスは、再起動して正常に停止する必要があります。

  • 移行ユーティリティは、Microservices Architectureデプロイメント用の環境変数が設定されているシェル/コマンド・プロンプトから実行する必要があります。

    OGG_HOMEの環境変数は、Oracle GoldenGate Microservicesソフトウェアのディレクトリの場所に設定する必要があります。

    Microsoft Windowsでは、PATH変数がOGG_HOME\libを指している必要があります。

    UNIXおよびLinuxプラットフォームでは、LD_LIBRARY_PATHOGG_HOME/libを指している必要があります。

移行ユーティリティの制限事項

移行ユーティリティは、次のものを含むプロセスを移行できません
  • 変換を実行する、またはDBLOGINを持つExtractポンプ・プロセス。

  • Classic Extract (Oracle GoldenGate 19cで非推奨になり、19.1より後のターゲットMAではバージョン21cでサポートが終了しました。)

  • 次のパラメータを使用するプロセス:

    • MACRO

    • OBEY

    • MACROCHAR

  • リモート証跡ファイル、リモート・タスクまたは初期ロードを使用している。

  • 証跡ファイルの絶対パス名。クラシック証跡ファイルは、./dirdat(またはその中のサブディレクトリ)に存在する必要があります。証跡ファイルが別のディレクトリにある場合は、./dirdatに移動し、Extractのconvchkユーティリティを使用してチェックポイントを変更できます。次に、影響を受けるReplicatのパラメータを変更します。Oracle GoldenGate 21cのOracle GoldenGateパラメータおよび機能リファレンスconvchkを参照してください。

  • INCLUDEの制限事項:
    • ネストされたINCLUDES

    • Extractポンプ内ではなく、ExtractおよびReplicat内のみ。

  • Oracle GoldenGate for DAA (のみ): ExtractおよびReplicatグループごとに、対応する.propertiesファイルで、Classicファイル・システム内のファイルを参照する値を持つプロパティを手動で検査する必要があります。これらのプロパティごとに、次の手動の移行手順を実行します:
    1. 参照されるファイルをMicroservicesデプロイメントのファイル・システムにコピーします。

    2. Microservicesデプロイメントのファイル・システムの新しいファイル・パスを参照するようにプロパティ値を変更します。

移行ユーティリティの実行

この項のタスクを開始する前に、「移行ユーティリティを使用するための前提条件」に記載されている手順を完了していることを確認してください。

コマンド・プロンプトで次の手順を使用して、移行ユーティリティを実行します:

  1. 次のコマンドを実行して、移行ユーティリティを起動します:

    java -jar ogg-migration-package-23.4.0.0.0.jar -classicHome /scratch/ogg/home –
    -dryrun java -jar ogg-migration-package-23.4.0.0.0.jar -classicHome /scratch/ogg/home
    –debug java -jar ogg-migration-package-23.4.0.0.0.jar –help
    このコマンドで使用可能なオプションは次のとおりです:
    • -classicHome path: (必須) Oracle GoldenGate Classicソフトウェア・ディレクトリの場所を指している必要があります。

    • -dryrun: (オプション)移行をシミュレートし(ドライ・ランを実行)、起こり得る問題がないかどうかをチェックすることを示します。

    • -debug: これはオプションですが、ユーティリティでこのオプションを使用することをお薦めします。デバッグ・レベルのロギングおよび診断を有効にします。より詳細なログ・データが提供され、移行が失敗した場合にクラシックとMAの両方のアーティファクトを含むzipファイルが生成されます。

    • -skipPumpURI: 「Accept Default URI on Pump Migrate」を指定します

    • -dbtype: データベースの名前を指定します。有効な値は、ORACLE、MYSQL、MSSQL、POSTGRESQL、SYBASE、DB2400、DB2ZOS、DB2LUW、TERADATA、TIMESTENです。

    • -help: 使用方法を示します。

  2. ユーティリティが、MAデプロイメントのサービス・マネージャのユーザー資格証明の入力を求めます:
    ***************************************************************************
    **      Oracle GoldenGate Classic to Microservices Migration Utility              **  
    **        Version 23.4.0.0.0 Build 66 at Fri Jan 22 17:24:41 UTC 2024             **
    **  Copyright (C) 1995, 2024, Oracle and/or its affiliates. All rights reserved.  **
    **                                                                                **    
    **         Operating system character set identified as UTF-8.                    **
    ************************************************************************************
    
    Command Entered: -classicHome /ogg/payroll -debug
    Log File for this session is /ogg/payroll/./Migration081321105419.log. Debug Mode is Enabled.
    Enter Service Manager Credentials: User Id: dba
    Password:
    
  3. ユーティリティは、ホスト上のサービス・マネージャをスキャンし、複数のデプロイメントがある場合は移行するデプロイメントの選択肢を表示し、続行するかどうかを確認します。
    Scanning for Microservices Deployments...
    Using Deployment payroll [cf4c7c93-3a1c-4cbc-b1ab-bc942bab7645]
    The following processes will be migrated to deployment payroll: 
    Extracts: EXTE
    Replicats: REPW
    Pumps: DPE
    Do you wish to continue? (yes/no):>

    yesと入力して続行します。

  4. ユーティリティは、データベース資格証明をClassicデプロイメントからターゲットのMicroservicesデプロイメントに移行し、Classicデプロイメント内のすべての証跡ファイルをコピーして、すべてのExtractおよびReplicatプロセスを移行します。
    Migrating Credentials from /ogg/payroll/./dircrd
    Migrating Credentials for Domain Payroll with an alias of ogg. 
    Migrating Credentials for Domain Payroll with an alias of user.
    
    Copying Trail Files from /ogg/payroll/dirdat to /ogg/Microservices/payroll/var/lib/data.
    235 trail files copied.
    
    Migrating EXTRACT EXTE to http://10.20.0.221:9901. 
    Checkpoint File(s) Copied and Converted Successfully. 
    Parameter File EXTE.prm Saved Successfully.
    Migration of Extract EXTE Completed Successfully.
    
    Migrating REPLICAT REPW to http://10.20.0.221:9901. 
    Parameter File REPW.prm Saved Successfully.
    Checkpoint File(s) Copied and Converted Successfully. 
    Migration of Replicat REPW Completed Successfully.
  5. その後、ユーティリティはすべてのExtractポンプ・プロセスを移行し、それぞれについてターゲット・レシーバ・サービスのURLを要求します。デフォルト値を受け入れるには、[Enter]キーを押します。

    別のターゲットを使用している場合は、URLを入力します。デフォルトでは、このユーティリティは、クラシック・ポンプが別のクラシック・デプロイメント・サーバー・プロセスに送信することを想定しています。デフォルトのURLを使用すると、分散サービスがクラシック・ターゲットにリンクできます。ターゲットのClassicデプロイメントも後で移行する場合は、新しく作成した分散パスを同時に変更する必要があります。詳細は、「移行の様々なユースケース」を参照してください。

    ノート:

    ループバック・ポンプは、Classicポンプが同じデプロイメントの同じマネージャに送信するテスト環境で一般的です。このループバック・ポンプは、移行されたMAデプロイメントのレシーバ・サービスに自動的にルーティングされます。
    Migrating PUMP PMPW2E to http://10.20.0.221:9902.
    
    Use Default Pump Target URI of ogg://ushost1:9903/services/v2/targets?trail=./bb? 
    Press Enter to Accept or type Alternate URI:>
    Creating Distribution Path for Pump PMPW2E.
    Distribution Path Created Successfully. 
    Setting trail sequence to 235 with an RBA of 1319472691.
    
    Migration of Pump PMPW2E Completed Successfully. 
    
    Migrating Manager tasks to http://10.20.0.221:9901.
    Creating Task for Parameter PurgeTrail-aa. Task Created Successfully.
    Creating Task for Parameter Purge-Extract. Task Created Successfully.
    2 Tasks were migrated, 2 Successfully, 0 with errors.
    
    Migrating Lag Report.
    Creating Task for Parameter LagReport. Task Created Successfully.
    Migration pf Manager Tasks Completed Successfully.
  6. 次に、ユーティリティはGLOBALS構成ファイル内のパラメータを移行するかどうかを尋ね、発生した問題を報告します。
    Do you wish to migrate your GLOBALS parameters? (yes/no):> y 
    GLOBAL parameters successfully migrated, 3 parameters merged.
  7. ユーティリティは、既存のウォレット・エントリが存在する場合はコピーするかどうかを選択するように求め、ターゲット・ウォレットにエントリが存在する場合は警告を発行します。これらのターゲット・ウォレット・エントリは上書きされます。このタスクが完了すると、ユーティリティは終了します。

    Your Classic Deployment has existing wallet entries. 
    Do you wish to copy them? (yes/no):> y
    
    Copying Oracle Wallet Entries.
    
    WARNING: Target deployment has existing wallet entries and will be overwritten!
    
    Do you wish to continue? (yes/no):> y 
    Wallet entries successfully copied.
    
    Migration Processing Complete, 3 processes were migrated successfully.

    移行が成功した場合は、Classicのdirchkディレクトリ内のチェックポイント・ファイルの名前に.migratedを追加して変更します。これにより、Classicデプロイメント・プロセスが誤って開始されるのが防止されます。

    ユーティリティで問題が発生し、移行プロセスを完了できない場合は、実行したすべての操作のロールバックが実行され、Classicデプロイメントが元の状態にリストアされます。問題の診断に役立つように、ログ・ファイルclassic configurationおよびtarget configurationを含む診断zipファイルが生成されます。

移行の様々なユースケース

Oracle GoldenGate Classic Architectureデプロイメントは、通常、自己完結型ではありません。通常、デプロイメントでは、非常に複雑な相互接続されたトポロジを持つポンプ・プロセスを使用して、証跡データを他のデプロイメントに送信します。デプロイメントがMicroservicesに移行されても、別のClassicまたはMicroservicesデプロイメントに証跡データがまだ送信されている可能性があります。Microservices Architectureの主な機能は、TLS/SSLや保護されたWebソケットなどの確立されたセキュリティ・プロトコルを使用して、デプロイメントを保護する機能です。

デプロイメントを移行する場合は、十分に検討されたアプローチを使用する必要があります。通常、ソース・デプロイメントとターゲット・デプロイメントは、一度にすべてではなく個別に移行することをお薦めします。移行ユーティリティを使用すると、デプロイメントを1つずつ移行できます。ソース・デプロイメントでは、保護されていないプロトコルを使用してClassicサーバー/コレクタまたはレシーバ・サービスと通信するため、移行された分散パスでは、パス内のレガシーoggプロトコルが使用されます。これは機能しますが、完全にセキュアなデプロイメントを作成する際のMicroservices Architectureのセキュリティ機能を活用していません。

すべてのデプロイメントがMicroservices Architectureに移行された後、またはソースおよびターゲットのデプロイメントが移行されるたびに、移行ユーティリティで生成された分散パスをwssまたはwsプロトコルを使用するパスに置き換えることをお薦めします。

デプロイメントおよびプロセスをMicroservices Architectureに段階的に移行できるように、ソースおよびターゲットのClassic Architectureデプロイメントは個別に移行できます。

分散パスの設定時に使用される様々なユースケースおよび関連する分散プロトコルを次に示します。

ソース ターゲット 分散プロトコル 説明

ハブ・アーキテクチャ(分散証跡なし)

ClassicからMicroservicesへの移行

該当なし

該当なし

該当なし

ClassicからMicroservicesへの移行

Classicデプロイメント

oggプロトコルからターゲット・クラシック・デプロイメント

-

ClassicからMicroservicesへの移行

Microservicesデプロイメント

oggプロトコル

オプションで、DISTPATHを削除して再作成し、wsまたはwssプロトコルを使用します(ターゲットがリバース・プロキシで保護されている場合)。

Classicデプロイメント

ClassicからMicroservicesへの移行

ポンプからターゲット・レシーバ・サービス

ソース・ポンプを変更する必要があります:

レシーバ・サービス・ポートとリモート証跡

Microservicesデプロイメント

ClassicからMicroservicesへの移行

oggプロトコル

DISTPATHを削除して再作成し、wsまたはwssプロトコルを使用します(ターゲットがリバース・プロキシで保護されている場合)。

ClassicからMicroservicesへのソースの移行(ターゲットがMicroservicesの場合)

このユースケースでは、順序番号(seqno)およびRBA値を指定することで、分散パスを削除して再作成し、wsまたはwssプロトコルを使用できます(ターゲットがリバース・プロキシで保護されている場合)。ターゲット・デプロイメントではMicroservices Architectureを使用しているため、これはオプションです。

管理クライアントを実行し、ソース・デプロイメントに接続して、SEQNOおよびRBAの値を取得します:
OGG (http://north:9001)> INFO DISTPATH dpe, DETAIL
Path Name: dpe Status: running
Source: trail://north:9002/services/v2/sources?trail=ea 
Target: ogg://south:9003/services/v2/targets?trail=ra 
Authentication Method: USERIDALIAS ggsca domain OracleGoldenGate
[…]
Checkpoints:
Input Checkpoint: 
  Current:
     Name: ea 
     Sequence: 14
     Offset: 2579
     Path: /u01/ogg_deployments/depl_north/var/lib/data/
[…]

移行ユーティリティによって作成された分散パスを再作成して再配置することで、分散パスをwsまたはwssプロトコルに変換します:

OGG (http://south:9001)> DELETE DISTPATH dpe, DETAIL

##If using Secure Web Socket Protocol (wss)
OGG (http://south:9001)> ADD DISTPATH dpm 
                         SOURCE trail://src_host:9002/services/v2/sources?trail=ea 
                         TARGET wss://trg_host:9003/services/v2/targets?trail=ra 
                         AUTHENTICATION CERTIFICATE default
##If using Web Socket Protocol (ws)
OGG (http://south:9001)> ADD DISTPATH dpm
                         SOURCE trail://src_host:9002/services/v2/sources?trail=ea 
                         TARGET ws://trg_host:9003/services/v2/targets?trail=ra 
                         AUTHENTICATION USERIDALIAS ggsca DOMAIN OracleGoldenGate
OGG (http://south:9001)> ALTER DISTPATH dpm, BEGIN SEQNO 14, RBA 2579
OGG (http://south:9001)> START DISTPATH dpm  

ClassicからMicroservicesへのターゲットの移行(ソースがMicroservicesの場合)

このユースケースでは、分散パスを削除して再作成し、ターゲットがリバース・プロキシで保護されている場合は、wsまたはwssプロトコルを使用する必要があります。「ClassicからMicroservicesへのソースの移行(ターゲットがMicroservicesの場合)」の手順に従って、ターゲット・デプロイメントの分散パスを削除して再作成します。

ClassicからMicroservicesへのターゲットの移行(ソースがClassicの場合)

ソース・デプロイメントがClassic Architecture上にあるときにターゲット・デプロイメントをMicroservices Architectureに移行する場合は、次の追加の手順を実行する必要があります:
  • ソースでポンプ・ポートをターゲット・レシーバ・サービスにルーティングするように変更します。

  • ターゲットのMicroservicesファイル階層では、dirdatディレクトリは必要ありません。次の例に示すように、Extract Pumpパラメータ・ファイルでRMTTRAILファイルを./dirdat/raから./raに変更します:

次の例に示すように、Extractポンプ・パラメータ・ファイルで、ターゲット・マネージャのポート番号がレシーバ・サービスのポート番号9903に変更され、RMTTRAILファイルのパスが変更されています。

GGSCI> STOP EXTRACT PMPW2E
GGSCI> EDIT PARAMS PMPW2E
Extractポンプのパラメータ・ファイルは次のとおりです:
EXTRACT PMPW2E 
USERIDALIAS ggeast, 
target uri: host1:9903/services/v2/targets?trail=./bb? ENCRYPT AES192, 
RMTTRAIL ./rt SEQUENCE hr.employees_seq; TABLE hr.*;
変更が完了したら、Extractポンプを再起動します。
GGSCI> START EXTRACT PMPW2E

ノート:

証跡ファイルはターゲットに配信されません。

移行を開始する前に、ソースのすべてのプロセスを正常に停止します。