移行ユーティリティを使用したクラシックからマイクロサービス・アーキテクチャへの移行

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

移行ユーティリティは、My Oracle Support (MOS)ポータルで、パッチ37274898として入手できます。

パッチの更新は、必要に応じてリリースされます。パッチの説明には、最新のビルド番号の詳細が含まれます。

Migration Utility使用の前提条件

移行ユーティリティを使用するための前提条件は次のとおりです。

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

移行ユーティリティでは、次の設定を持つプロセスは移行できません。

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

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

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

  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 -debug
    java -jar ogg-migration-package-23.4.0.0.0.jar -help

    このコマンドで使用可能なオプションは次のとおりです。

    • -classicHome path: (必須) Oracle GoldenGate Classicソフトウェア・ディレクトリの場所を指す必要があります。

    • -dryrun: (オプション)移行がシミュレートされ(ドライ・ランを実行)、発生する可能性がある問題をチェックすることを示します。

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

    • -skipPumpURI: ポンプ移行時のデフォルトURIの受入れを指定します

    • -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. このユーティリティは、クラシック・デプロイメントからターゲットのMicroservicesデプロイメントにデータベース資格証明を移行し、クラシック・デプロイメント内のすべての証跡ファイルをコピーして、すべての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を使用すると、分散サービスはクラシック・ターゲットにリンクできます。後でターゲットのクラシック・デプロイメントも移行する予定の場合は、新しく作成した分散パスを同時に変更する必要があります。詳細は、移行の異なるユース・ケースを参照してください。

    ノート:ループバック・ポンプは、クラシック・ポンプが同じデプロイメントの同じManagerに送信されるテスト環境で共通です。このループバック・ポンプは、移行されたMAデプロイメントのReceiver Serviceに自動的にルーティングされます。

        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.

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

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

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

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

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

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

デプロイメントおよびプロセスをマイクロサービス・アーキテクチャに段階的に移行できるように、ソースおよびターゲットのClassic Architectureデプロイメントを個別に移行できます。

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

ソース ターゲット 配布プロトコル 摘要

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

クラシックからマイクロサービスへの移行

該当なし 該当なし 該当なし
クラシックからマイクロサービスへの移行 クラシック・デプロイメント oggプロトコルによるクラシック配備のターゲット指定 -
クラシックからマイクロサービスへの移行 マイクロサービス・デプロイメント oggプロトコル オプションで、DISTPATHを削除して再作成し、wsまたはwssプロトコルを使用します(ターゲットがリバース・プロキシで保護されている場合)。
クラシック・デプロイメント クラシックからマイクロサービスへの移行 受信サービスをターゲットにするためのポンプ

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

受信側サービスポートおよびリモート証跡

マイクロサービスの導入 クラシックからマイクロサービスへの移行 oggプロトコル DISTPATHを削除して再作成し、wsまたはwssプロトコルを使用します(ターゲットがリバース・プロキシで保護されている場合)。

ターゲットがマイクロサービスであるクラシックからマイクロサービスへのソースの移行

このユース・ケースでは、順序番号(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

ソースがマイクロサービスであるクラシックからマイクロサービスへのターゲットの移行

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

ソースがクラシックであるクラシックからマイクロサービスへのターゲットの移行

ソース・デプロイメントがClassic Architectureにあるときにターゲット・デプロイメントをMicroservices Architectureに移行する場合は、次の追加ステップを実行する必要があります。

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

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

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

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