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について
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の場合はオプションであり(ただし、使用をお薦めします)、調整Replicatの場合は必須です。
チェックポイント表は、データベース内の既存のスキーマの下に作成する必要があり、デフォルトでは、GLOBALS
ファイル内のGGSCHEMA
パラメータでリストされているスキーマに表を作成しようとします。GLOBALS
内にリストされているスキーマがデータベースに存在することと、Replicatユーザーにそのスキーマの使用権限とそこでの表の作成権限があることを確認します。
-
GGSCIを使用してターゲット・データベースのDSNに接続します。
GGSCI> DBLOGIN SOURCEDB dsn USERIDALIAS alias
-
GGSCIコマンドを使用してチェックポイント表を追加します。
GGSCI> ADD CHECKPOINTTABLE ggadmin.oggcheck
親トピック: Replicatの作成の前提条件
Replicatの作成
-
GGSCIで、Replicatパラメータ・ファイルを作成します。
EDIT PARAMS repnm
このサンプルでは、
repnm
はReplicatの名前です。クラシックReplicatの場合、この名前には8文字以内の英数字を使用できます。調整Replicatの場合、この名前は5文字以内の英数字にする必要があります。 -
次に示す順序で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
に関する項を参照してください。
-
-
構成に推奨されるオプションのReplicatパラメータを入力します。このファイルは、
EDIT PARAMS
コマンドを使用して、処理を開始する前の任意の時点で編集できます。 -
ファイルを保存して閉じます。
-
Replicatを追加します。この例では、調整Replicatになります。
GGSCI> ADD REPLICAT repnm, COORDINATED, EXTTRAIL ./dirdat/ep, CHECKPOINTTABLE ggadmin.oggcheck
-
Replicatを起動します。
親トピック: Replicatの構成