管理クライアントからのExtractの登録

OracleデータベースおよびPostgreSQLデータベースの変更同期には、Extractの登録が必要です。

このトピックでは、管理クライアントからのExtractの登録について説明します。Extractの作成時に、WebインタフェースからExtractを登録することもできます。WebインタフェースからExtractを登録するステップを確認するには、「オンラインExtractの追加」を参照してください。

Oracle GoldenGateをアップグレードする必要があり、Extractプロセスのインストール・ディレクトリが異なる場合は、管理クライアントでREGISTER EXTRACTコマンドにMIGRATEオプションを使用する必要があります。詳細は、『Oracle GoldenGateコマンドライン・インタフェース・リファレンス』REGISTER EXTRACTを参照してください。

OracleのExtractの登録

次の手順に従って、Extractを登録します。Extractの登録は、Extractを作成する前に実行する必要があります。

DBLOGINコマンドを使用して、データベースに接続していることを確認します。

詳細は、Oracle GoldenGateコマンド・ライン・インタフェース・リファレンスREGISTER EXTRACTを参照してください。

  1. 管理クライアントを使用してデプロイメントに接続してから、ソース・データベースの資格証明別名に接続します。
    OGG> CONNECT https://remotehost:srvmgrport DEPLOYMENT deployment_name AS deployment_user PASSWORD deployment_password
    
    CONNECTコマンドを実行すると、次の例に示すように、コマンド・プロンプトが「not connected」からhttps://servername:port deployment_nameに変わります。
    OGG (https://pdbeast.vcn.oracle.com:16000depl_east)>
  2. DBLOGINコマンドを使用してデータベースに接続します:
    OGG (https://remotehost:portoracle_source)> DBLOGIN USERIDALIAS alias
  3. Extractを登録します。Extractの名前は、英数字8文字より長くできません。
    OGG (https://remotehost:portoracle_source)> REGISTER EXTRACT extname DATABASE

Oracle GoldenGate MA WebインタフェースからExtractを作成するときに、バックグラウンドでExtractを登録することもできます。詳細は、「オンラインExtractの追加」を参照してください。

PostgreSQLのExtractの登録

PostgreSQLのExtractは、データベースに登録して、予約済レプリケーション・スロットを付与する必要があります。レプリケーション・スロットは、データベース構成設定max_replication_slotsを介して割り当てられ、データベース構成の説明に従って構成できます。

次の手順に従って、Extractを登録します。Extractの登録は、Extractを作成する前に実行する必要があります。詳細は、Oracle GoldenGateコマンド・ライン・インタフェース・リファレンスREGISTER EXTRACTを参照してください。

  1. デプロイメントに接続してから、ソース・データベースの資格証明別名に接続します。
    CONNECT https://remotehost:srvmgrport DEPLOYMENT
              deployment_name AS deployment_user PASSWORD deployment_password
    
    OGG (https://remotehost:16000postgresql_source)> DBLOGIN USERIDALIAS alias
  2. Extractを登録します。これにより、Extractのレプリケーション・スロットが内部的に作成されます。Extract名は、英数字8文字を超えることはできません。
    REGISTER EXTRACT extname
    Extractをpgoutputプラグインに明示的に登録するには、pgoutputプラグイン・タイプを指定する必要があります。
    REGISTER EXTRACT extname PGPLUGINTYPE pgoutput;

Oracle GoldenGate MA WebインタフェースからExtractを登録することもできます。「オンラインExtractの追加」を参照してください。

PGOUTPUTプラグイン・タイプのガイドラインおよび制限事項

PGOUTPUTプラグイン・タイプを構成する際のガイドライン

PostgreSQLのプラグイン・タイプを設定する場合は、次のガイドラインに従います:
  • Extractプロセスを登録する前に、パブリケーションを作成する必要があります。

  • パブリケーション名には、特殊文字(カンマ(、)、一重引用符(')および二重引用符("))を含めることはできません。

  • 複数のパブリケーション名は、publication_names内にカンマ区切りリストとして指定できます。たとえば:
    TRANLOGOPTIONS STREAMINGOPTIONS (publication_names="my*123,my_publication2,123 pub,my_publication";)

    詳細は、TRANLOGOPTIONS STREAMINGOPTIONSパラメータを参照してください。

  • リストの最後のパブリケーション名は、セミコロン(;)で終わる必要があります。

制限事項

PostgreSQLのプラグイン・タイプを選択する際には、次の制限が適用されます:
  • タイムゾーン(TZ)環境変数: WAL送信者プロセスは常に、UTCでコミット・タイムスタンプを送信します。OGGセッション・タイムゾーンがUTCと異なる場合、CDC Extractプロセスのタイムスタンプによる位置決め時に不一致が発生する可能性があります。この問題を回避するには、ユーザーがデプロイメント・レイヤーで環境変数TZ=UTCを設定する必要があります。この制限は、特にpgoutputプラグインに適用されます。

  • 複数の切捨て: 複数の切捨て操作は、pgoutputプラグインでのみサポートされます。test_decodingプラグイン・タイプでは、複数の切捨ては許可されません。

  • 一意索引があるが主キーがない表: 表に主キーがなく、一意索引が含まれている場合、レプリカ・アイデンティティに索引を使用するか、FULLに設定する必要があります。

  • CDC Extractに対するパブリケーションの削除の影響: CDC Extractの実行中にパブリケーションが削除された場合、レプリケーション・スロットが破損し、機能が停止するリスクがあります。このような場合、影響を受けるレプリケーション・スロットは使用できず、同じパブリケーションを再作成しても問題は解決しません。推奨される解決策は、新しいパブリケーションを作成し、それを新しいレプリケーション・スロットに関連付けてCDC機能をリストアすることです。

  • パブリケーションに適格な表: パブリケーションに含めることができるのは、永続ベース表およびパーティション表のみです。次のオブジェクト・タイプはパブリケーションの一部にできません:
    • 一時表

    • ログ記録されない表

    • 外部表

    • マテリアライズド・ビュー

    • 通常のビュー

  • pgoutputプラグインによる双方向レプリケーションのサポート: 双方向レプリケーションにpgoutputプラグインを使用する場合、CDC Extractプロセスを開始する前に、チェックポイント表を作成してパブリケーション・リストに含める必要があります。また、レプリケーション・スロットは、チェックポイント表が作成されてパブリケーションに追加された後にのみ作成する必要があります。

  • 列レベルのパブリケーションの制限: パブリケーションに表の列のサブセットを指定することは、CDCレプリケーションではサポートされていません。パブリケーションには表全体を含める必要があります。一部の列のみを追加しようとすると、CDCストリームでエラーまたはデータの不一致が発生する可能性があります。