データベース構成
キャプチャ用のデータベース・ソフトウェア
Oracle GoldenGateでは、PostgreSQLデータベースからキャプチャするためには、そのデータベースにtest_decoding
データベース・プラグインがインストールされている必要があります。このプラグインは、データベースのインストール時にデフォルトでインストールされていない場合があります。
次の例で示すように、postgresqlversion#-contrib
パッケージがデータベース・サーバーにインストールされていることを確認してください。
sudo yum install postgresql14-contrib
PostgreSQLデータベース構成ファイル内のパラメータ
Oracle GoldenGateの場合、PostgreSQLデータベース構成ファイル$PGDATA/postgresql.conf
で次のパラメータを構成します。
-
ExtractまたはReplicatのリモート接続の場合は、リモート・データベース接続を許可するようにPostgreSQL
listen_addresses
を設定します。たとえば:listen_addresses=remotehost_ip_address
ノート:
pg_hba.conf
ファイルを構成して、Oracle GoldenGateホストからの接続を許可するようにクライアント認証が設定されていることを確認します。詳細は、次のドキュメントを参照してください: pg_hba.confファイル -
Oracle GoldenGate Extractをサポートするには、先行書込みロギングを
logical
に設定する必要があります。これにより、トランザクション・レコードのデコードをサポートするために必要な情報が追加されます。最大レプリケーション・スロットの数は、Extractごとに1つのオープン・スロットを格納するように設定する必要があり、通常、データベースごとに1必要なExtractは1つのみです。たとえば、PostgreSQLネイティブ・レプリケーションがすでに使用されており、現在構成されているすべてのレプリケーション・スロットを使用している場合は、値を増加してExtractの登録を許可します。
最大先行書込み送信者は、最大レプリケーションスロット値と一致するように設定する必要があります。
オプションで、コミット・タイムスタンプを先行書込みログで有効にできます。これにより、論理先行書込みロギングが同時に有効になっている場合、その時点以降の最初のDMLコミット・レコードが正しいタイムスタンプ値で追跡されます。それ以外の場合は、Oracle GoldenGate取得で取得された最初のレコードに、正しくないコミット・タイムスタンプが含まれます。
wal_level = logical # set to logical for Capture max_replication_slots = 1 # max number of replication slots, # one slot per Extract/client max_wal_senders = 1 # one sender per max repl slot track_commit_timestamp = on # optional, correlates tx commit time # with begin tx log record (useful for # timestamp-based positioning)
-
前述の変更を行った後、データベースを再起動します。
次の手順を使用して、Azure for PostgreSQL、Amazon Aurora PostgreSQL、Amazon RDS for PostgreSQL、GoogleAlloyDB for PostgreSQLおよびGoogle Cloud SQL for PostgreSQLのデータベース設定を管理します。