18 Extractの構成
この章では、PostgreSQLデータベースから初期ロードおよびトランザクション・データを取得するようにOracle GoldenGate Extractを構成する手順について説明します。
内容は次のとおりです。
Extractについて
Oracle GoldenGate for PostgreSQLには、作成できるExtractのタイプが2つあります。
初期ロードExtract
初期ロードExtractは、表からすべてのレコードを読み取ってEXTFILE
またはRMTFILE
に書き込むために使用されます。初期ロードExtractは、ADD EXTRACT
コマンドのSOURCEISTABLE
オプションを使用して作成され、リカバリ用のチェックポイントは保持されません。
初期ロード・プロセスの詳細は、「正確なインスタンス化を使用したPostgreSQLソース・データベースの初期同期の構成」を参照してください。
親トピック: Extractについて
チェンジ・データ・キャプチャのExtract
チェンジ・データ・キャプチャのExtractは、それが作成されるか、または先行書込みログに配置された時点からのトランザクション・データ変更を取得するために使用されます。
PostgreSQL用のOracle GoldenGate Extractプロセスでは、PostgreSQL test_decoding
データベース・プラグインから論理レコードを受信し、それをReplicatによるダウンストリーム消費のためにコミット順序で証跡ファイルに書き込みます。
親トピック: Extractについて
Extractのデプロイメント・オプション
-
ローカル・デプロイメント: ローカル・デプロイメントの場合、ソース・データベースとOracle GoldenGateは同じサーバーにインストールされます。ローカル・デプロイメントでは、追加の考慮事項は必要ありません。
-
リモート・デプロイメント: リモート・デプロイメントの場合、ソース・データベースとOracle GoldenGateは個別のサーバーにインストールされます。リモート・デプロイメントは、PostgreSQL用のAzureやAmazon Aurora PostgreSQLなどのクラウド・データベースをサポートするために使用できる唯一のオプションです。
リモート・デプロイメントの場合、データベース・サーバーとOracle GoldenGateサーバーの間のオペレーティング・システムのエンディアンは、WindowsとWindows、LinuxとLinux、WindowsとLinuxなどのように、同じである必要があります。
Oracle GoldenGateサーバーのサーバー時間とタイムゾーンは、データベース・サーバーのものと同期されている必要があります。このことが可能でない場合は、Extractが作成または変更されたとき、その配置がLSNによって実行される必要があります。
リモート取得のユースケースでは、
SQLEXEC
を使用すると、レイテンシが増加することがあります。これは、SQLEXEC
操作は、Extractによって処理されるレコードごとに順次実行する必要があるためです。SQLEXEC
を必要とする特別なフィルタリングがリモート・ハブExtractで実行され、パフォーマンスへの影響が大きすぎる場合は、Extractプロセスをソース・データベースに近づけることが必要になる場合があります。リモート・デプロイメントではネットワーク・レイテンシが低いことが重要となり、Oracle GoldenGateサーバーとソース・データベース・サーバーの間のネットワーク・レイテンシを1ミリ秒未満にすることをお薦めします。
親トピック: Extractについて
チェンジ・データ・キャプチャのExtractの作成の前提条件
Oracle GoldenGate for PostgreSQLのインストールの前提条件を確認します。
データベース接続が正しく構成されていることを確認します。詳細は、「データベース接続の構成」を参照してください。
親トピック: Extractの構成
PostgreSQLのExtractの登録
PostgreSQLのExtractは、データベースに登録して、予約済レプリケーション・スロットを付与する必要があります。レプリケーション・スロットは、データベース構成設定max_replication_slots
を介して割り当てられ、データベース構成の説明に従って構成できます。
次の手順に従って、Extractを登録します。Extractの登録は、Extractを作成する前に実行する必要があります。詳細は、Oracle GoldenGateコマンド・ライン・インタフェース・リファレンスのREGISTER EXTRACT
を参照してください。
内容は次のとおりです。
PostgreSQL用のMicroservices ArchitectureへのExtractの登録
-
管理クライアントを使用してデプロイメントに接続してから、ソース・データベースの資格証明別名に接続します。
OGG> CONNECT https://remotehost:srvmgrport DEPLOYMENT deployment_name AS deployment_user PASSWORD deployment_password
OGG (https://remotehost:16000postgresql_source)> DBLOGIN USERIDALIAS alias
-
Extractを登録します。これにより、Extractのレプリケーション・スロットが内部的に作成されます。Extract名は、英数字8文字を超えることはできません。
OGG (https://remotehost:16000postgresql_source)> REGISTER EXTRACT extname
Oracle GoldenGate MA WebインタフェースからExtractを登録することもできます。Oracle GoldenGate Microservicesを使用してのステップ・バイ・ステップ・データ・レプリケーション・ガイドのExtractの追加方法を参照してください。
親トピック: PostgreSQLのExtractの登録
PostgreSQL用のClassic ArchitectureへのExtractの登録
次の手順に従って、Extractを登録します。Extractの登録は、Extractを作成する前に実行する必要があります。詳細は、『Oracle GoldenGateコマンド・ライン・インタフェース・リファレンス』ガイドのREGISTER EXTRACT
を参照してください。
-
GGSCIを使用して、ソース・データベースのDSNに接続します。
GGSCI> DBLOGIN SOURCEDB dsn USERIDALIAS alias
-
GGSCIコマンドを使用してExtractを登録します。このコマンドは、レプリケーション・スロットを内部的に作成します。Extract名は、英数字8文字を超えることはできません。
GGSCI> REGISTER EXTRACT extname
親トピック: PostgreSQLのExtractの登録
チェンジ・データ・キャプチャのExtractの作成
ノート:
通常、データベースごとに1つのExtractで十分ですが、レプリケーション・スロットが使用可能な場合は複数のExtractが許可されます。-
ソース・システムのGGSCI、Admin ClientまたはREST APIクライアントで、Extractパラメータ・ファイルを作成します。
EDIT PARAMS extname
この例では、
extname
はプライマリExtractの名前であり、前のステップでデータベースに登録されたExtractの名前と一致しています。Oracle GoldenGate Microservicesを使用してこのタスクを実行する方法の詳細は、Oracle GoldenGate Microservicesを使用してのステップ・バイ・ステップ・データ・レプリケーション・ガイドのExtractの追加方法を参照してください。
-
次に示す順序でExtractパラメータを入力します。パラメータ文ごとに新しい行を開始します。
Microservicesインストール用のExtractの基本パラメータの例は、次のとおりです。EXTRACT extname SOURCEDB dsn_name USERIDALIAS alias EXTTRAIL ep GETTRUNCATES TABLE schema.*;
Classic Architectureインストール用のExtractの基本パラメータの例は、次のとおりです。EXTRACT extname SOURCEDB dsn_name USERIDALIAS alias EXTTRAIL ./dirdat/ep GETTRUNCATES TABLE schema.object;
パラメータ 説明 EXTRACT extname
extname
はExtractの名前で、長さが英数字8文字を超えることはできません。詳細は、Oracle GoldenGateリファレンスのextractを参照してください。SOURCEDB dsn_name
データベース接続DSNの名前を指定します。
USERIDALIAS alias
Extractに割り当てられるユーザーのデータベース・ログイン資格証明の別名を指定します。この資格証明は、Oracle GoldenGate資格証明ストアに存在する必要があります。詳細は、「Oracle GoldenGate資格証明の確立」を参照してください。
EXTTRAIL trailname
プライマリExtractによって取得されたデータが書き込まれる2文字のローカル証跡を指定します。
GETTRUNCATES
オプションのパラメータですが、切捨て操作を取得するために必要です。
TABLE schema.object;
または
TABLE schema.*;
データをキャプチャするデータベース・オブジェクトを指定します。-
TABLE
は、表または表のワイルドカード・セットを指定します。 -
schema
は、スキーマ名またはスキーマのワイルドカード・セットです。 -
objectは、表または順序名、またはこれらのオブジェクトのワイルドカード・セットです。
-
*
は、スキーマ内のすべての表に対するワイルドカードです。
パラメータ文はセミコロンで終了します。
名前をワイルドカード指定から除外するには、必要に応じて、SCHEMAEXCLUDE
、TABLEEXCLUDE
およびEXCLUDEWILDCARDOBJECTSONLY
パラメータを使用します。ノート:
取得する表のスキーマがGLOBALSファイルのGGSCHEMA
にあるスキーマと同じ場合(推奨されません)、TABLE
文でschema.*
を使用することはできません。 -
-
構成に推奨されるオプションのExtractパラメータを入力します。このファイルは、
EDIT PARAMS
コマンドを使用して処理を開始する前にいつでも編集できます。 -
保存してファイルを閉じます。
-
Extractとそれに関連付けられた証跡ファイルを追加します。
管理クライアントを使用するMicroservices Architectureの場合は、次のようになります。OGG (https://remotehost:16000 postgresql_source)> ADD EXTRACT extname, TRANLOG, BEGIN NOW OGG (https://remotehost:16000 postgresql_source)> ADD EXTTRAIL ep, EXTRACT extname
GGSCIを使用するClassic Architectureの場合は、次のようになります。GGSCI> ADD EXTRACT extname, TRANLOG, BEGIN NOW GGSCI> ADD EXTTRAIL ./dirdat/ep, EXTRACT extname
-
Extractを起動します。
親トピック: Extractの構成