18 Replicatの構成

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

内容は次のとおりです。

Replicatについて

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

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

Replicatのタイプ間の違いの詳細は、Oracle GoldenGateの管理ガイドのオンラインReplicatグループの作成を参照してください。

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

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

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

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

    リモート・デプロイメントでは、ネットワーク・レイテンシが低いことが重要であるため、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ユーザーにそのスキーマの使用権限とそこでの表の作成権限があることを確認します。

次のステップでは、クラシックおよび調整Replicatの場合のチェックポイント表の作成方法を示します。
  1. GGSCIを使用してターゲット・データベースのDSNに接続します。

    GGSCI> DBLOGIN SOURCEDB dsn USERIDALIAS alias
  2. GGSCIコマンドを使用してチェックポイント表を追加します。

    GGSCI> ADD CHECKPOINTTABLE ggadmin.oggcheck

Replicatの作成

次のステップでは、トランザクション・データをターゲットPostgreSQLデータベースに配信するようにReplicatを作成します。
  1. GGSCIで、Replicatパラメータ・ファイルを作成します。
    EDIT PARAMS repnm

    このサンプルでは、repnmはReplicatの名前です。クラシックReplicatの場合、この名前には8文字以内の英数字を使用できます。調整Replicatの場合、この名前は5文字以内の英数字にする必要があります。

  2. 次に示す順序で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.*;

    ソース表とそれに対応するターゲット・オブジェクト(1つまたは複数)との間の関係を指定します。
    • MAPにより、ソース表、または表のワイルドカードを使用した表のセットを指定します。

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

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

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

    • THREADにより、特定の調整Replicatスレッドに表操作を割り当てます。

      パラメータ文はセミコロンで終了します。

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

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

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

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

  5. Replicatを追加します。この例では、調整Replicatになります。

    GGSCI> ADD REPLICAT repnm, COORDINATED, EXTTRAIL ./dirdat/ep, CHECKPOINTTABLE ggadmin.oggcheck
  6. Replicatを起動します。