データベース構成

キャプチャ用のデータベース・ソフトウェア

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のデータベース設定を管理します。