20 Replicatの構成

この章では、ターゲットPostgreSQLデータベースにデータを配信するようにReplicat適用プロセスを構成する手順について説明します。

内容は次のとおりです。

Replicatについて

PostgreSQL用のOracle GoldenGate Replicatでは、Oracle GoldenGateソース証跡ファイルからデータを読み取り、ターゲットPostgreSQLデータベースにデータを配信します。ソース証跡データは、Oracle GoldenGate取得でサポートされるすべてのデータベースから取得できます。

PostgreSQLで使用可能なReplicatは、クラシック、調整およびパラレルReplicatです。

Oracle GoldenGateの管理ガイドのオンラインReplicatグループの作成の内容を参照してください。

Replicatのデプロイメント・オプション

  • ローカル・デプロイメント: ローカル・デプロイメントの場合、ターゲット・データベースとOracle GoldenGateは同じサーバーにインストールされます。ローカル・デプロイメントでは、追加の考慮事項は必要ありません。

  • リモート・デプロイメント: リモート・デプロイメントの場合、ターゲット・データベースとOracle GoldenGateは個別のサーバーにインストールされます。リモート・デプロイメントは、PostgreSQL用のAzureやAmazon Aurora PostgreSQLなどのクラウド・データベースをサポートするために使用できる唯一のオプションです。

    リモート・デプロイメントの場合、データベース・サーバーとOracle GoldenGateサーバーの間のオペレーティング・システムのエンディアンは、WindowsとWindows、LinuxとLinux、WindowsとLinuxなどのように、同じである必要があります。

    リモート・デプロイメントではネットワーク・レイテンシが低いことが重要となり、Oracle GoldenGateサーバーとターゲット・データベース・サーバーの間のネットワーク・レイテンシを1ミリ秒未満にすることをお薦めします。

Replicatの作成の前提条件

Oracle GoldenGateのインストールPostgreSQLのDataDirectドライバのインストールを参照して、DataDirectドライバが正しくインストールされていることを確認します。これらはオペレーティング・システムによって異なります。

リモートにインストールされている場合、データベース・サーバー上のPostgreSQLクライアント認証構成ファイル$PGDATA/pg_hba.confが、Oracle GoldenGateサーバーからの接続を許可するように構成されていることを確認します。詳細は、https://www.postgresql.org/docs/13/auth-pg-hba-conf.htmlを参照してください。

チェックポイント表の作成

チェックポイント表は、ターゲット・データベースのReplicatによって、Replicatを再起動する際のリカバリの配置に使用されます。チェックポイント表は、クラシックReplicatではオプション(ただし推奨)で、調整およびパラレルReplicatでは必須です。

チェックポイント表は、データベース内の既存のスキーマの下に作成する必要があります。デフォルトでは、GLOBALSファイルのGGSCHEMAパラメータにリストされているスキーマ内に表の作成が試行されます。GLOBALSにリストされているスキーマがデータベースに存在し、Replicatユーザーがスキーマを使用してスキーマ内に表を作成する権限を持っていることを確認します。Microservicesデプロイメントを作成する場合、GLOBALSファイルにバインドされているスキーマは、デプロイメントの作成時に「レプリケーション設定」ステップで入力されたスキーマです。

これらのステップでは、クラシックおよび調整Replicatのチェックポイント表の作成を示します。パラレルReplicatのチェックポイント表は、Replicatの追加時に作成され、事前に作成する必要はありません。

Microservices Architecture
  1. 管理クライアントを使用してデプロイメントに接続してから、ターゲット・データベースの資格証明別名に接続します。
    OGG> CONNECT https://remotehost:srvmgrport DEPLOYMENT deployment_name AS deployment_user PASSWORD deployment_password
    
    OGG (https://remotehost:16000 postgresql_target)> DBLOGIN USERIDALIAS alias
  2. チェックポイント表を追加します。
    OGG (https:// remotehost:16000postgresql_target)> ADD CHECKPOINTTABLE
        ggadmin.oggcheck

    Oracle GoldenGate MA Web UIからチェックポイント表を追加することもできます。Oracle GoldenGate Microservicesを使用してのステップ・バイ・ステップ・データ・レプリケーション・ガイドのReplicatを作成する前にを参照してください。

Classic Architecture
  1. GGSCIを使用して、ターゲット・データベースのDSNに接続します。
    GGSCI> DBLOGIN SOURCEDB dsn USERIDALIAS alias
  2. GGSCIコマンドを使用して、チェックポイント表を追加します。
    GGSCI> ADD CHECKPOINTTABLE ggadmin.oggcheck

Replicatの作成

次のステップでは、ターゲットPostgreSQLデータベースにトランザクション・データを配信するReplicatを作成します。
  1. ターゲット・システムのGGSCI、管理クライアントまたはREST APIクライアントで、Replicatパラメータ・ファイルを作成します。
    EDIT PARAMS repnm
    この例で、repnmはReplicatの名前です。クラシックReplicatの場合、名前の長さが英数字8文字を超えることはできません。調整およびパラレルReplicatの場合、名前の長さを英数字5文字以下にする必要があります。

    ノート:

    Oracle GoldenGate Microservicesを使用してこのタスクを実行する方法の詳細は、Oracle GoldenGate Microservicesを使用してのステップ・バイ・ステップ・データ・レプリケーション・ガイドのReplicatの追加方法を参照してください。
  2. 次に示す順序でReplicatパラメータを入力します。パラメータ文ごとに新しい行を開始します。

    クラシックReplicatおよびパラレルReplicatの基本パラメータの例は、次のとおりです。

    REPLICAT repnm
    TARGETDB dsn_name USERIDALIAS alias
    BATCHSQL
    GETTRUNCATES
    MAP schema.object, TARGET schema.object;
    調整Replicatの基本パラメータの例は、次のとおりです。
    REPLICAT repnm
    TARGETDB dsn_name USERIDALIAS alias
    BATCHSQL
    GETTRUNCATES
    MAP schema.object1, TARGET schema.object1, THREAD (1);
    MAP schema.object2, TARGET schema.object2, THREAD (2);
    MAP schema.object3, TARGET schema.object3, THREAD (3);
    パラメータ 説明

    REPLICAT repnm

    repnmはReplicatの名前であり、クラシックReplicatの場合には長さが英数字8文字を超えることはできず、調整およびパラレルReplicatの場合には英数字5文字以下にする必要があります。詳細は、Oracle GoldenGateリファレンスREPLICATを参照してください。

    TARGETDB dsn_name

    データベース接続DSNの名前を指定します。

    USERIDALIAS alias

    Replicatに割り当てられているユーザーのデータベース・ログイン資格証明のエイリアスを指定します。この資格証明は、Oracle GoldenGate資格証明ストアに存在する必要があります。詳細は、「Oracle GoldenGate資格証明の確立」を参照してください。

    BATCHSQL

    GETTRUNCATES

    トランザクションのバッチ処理および切捨て操作のレプリケーションをサポートする、Replicatのオプションのパラメータ。

    MAP schema.object, TARGET schema.object;

    または

    MAP schema.*, TARGET schema.*;

    ソース表と対応するターゲット・オブジェクトの間の関係を指定します。
    • MAPは、ソース表または表のワイルドカードを使用した表のセットを指定します。

    • TARGETは、ターゲット表または表のワイルドカードを使用した表のセットを指定します。

    • schemaは、スキーマ名またはスキーマのワイルドカード・セットです。

    • objectは表名またはワイルドカードを使用した表のセットです。

    • THREADは、特定の調整Replicatスレッドに表操作を割り当てます。パラメータ文はセミコロンで終了します。

      ワイルドカード指定からオブジェクトを除外するには、MAPEXCLUDEパラメータを使用します。

      データのフィルタリング、マッピングおよび操作を制御するその他のオプションとその詳細は、『Oracle GoldenGateリファレンス』MAPに関する項を参照してください。

  3. 構成に推奨されるオプションのReplicatパラメータを入力します。このファイルは、EDIT PARAMSコマンドを使用して処理を開始する前にいつでも編集できます。

  4. 保存してファイルを閉じます。

  5. この例では、ReplicatをパラレルReplicatとして追加します。

    管理クライアントを使用するMicroservices Architectureの場合は、次のようになります。
    OGG (https://remotehost:16000postgresql_target)> ADD REPLICAT repnm, PARALLEL, EXTTRAIL ep, CHECKPOINTTABLE
    ggadmin.oggcheck
    GGSCIを使用するClassic Architectureの場合は、次のようになります。
    GGSCI> ADD REPLICAT repnm, PARALLEL, EXTTRAIL ./dirdat/ep, CHECKPOINTTABLE ggadmin.oggcheck
  6. Replicatを起動します。