プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成
12c (12.2.0.1)
E70107-04
目次へ移動
目次

前
次

13.9 特別なフィルタのケース

次に、フィルタ条件を作成する場合に注意する必要がある特別なケースを示します。

13.9.1 DDL EXCLUDE ALL

DDL EXCLUDE ALLは、トリガーベースのDDLキャプチャを使用している場合に、主としてExtractのために用意されている特別な処理オプションです。DDL EXCLUDE ALLはDDL操作のレプリケーションをブロックしますが、Oracle GoldenGateが現在のオブジェクト・メタデータを保持できるようにします。Extractがログマイニング・サーバーから直接DDLを受信する場合(トリガーレスDDLキャプチャ・モード)、現在のメタデータは常に保持されます。

Oracle GoldenGate以外の方法を使用してDDLをターゲットに適用し、Oracle GoldenGateによってデータの変更をターゲット・オブジェクトにレプリケートする場合、DDL EXCLUDE ALLを使用できます。現在のメタデータをオブジェクトの変更としてOracle GoldenGateに提供するため、Oracle GoldenGateプロセスの停止と起動の必要がなくなります。次の特別な条件がDDL EXCLUDE ALLに適用されます。

  • DDL EXCLUDE ALLでは、INCLUDE句を使用する必要がありません。

  • DDL EXCLUDE ALLを使用する場合、WILDCARDRESOLVEパラメータをIMMEDIATEに設定し、必要に応じてただちにDMLを解決できるようにします。詳細は、『Oracle GoldenGate for Windows and UNIXリファレンス』を参照してください。

すべてのDDLメタデータおよび操作がレプリケートされないようにするには、DDLパラメータ全体を省略します。

13.9.2 暗黙的DDL

ユーザーによって生成されたDDL操作によって、暗黙的DDL操作が生成される場合があります。たとえば、次の文では、2つの異なるDDL操作が生成されます。

CREATE TABLE customers (custID number, name varchar2(50), address varchar2(75), address2 varchar2(75), city varchar2(50), state (varchar2(2), zip number, contact varchar2(50), areacode number(3), phone number(7), primary key (custID));

最初の(明示的)DDL操作は、CREATE TABLE文自体です。

2つ目のDDL操作は、暗黙的なCREATE UNIQUE INDEX文で、主キーの索引を作成します。この操作は、ユーザー・アプリケーションではなく、データベース・エンジンによって生成されます。

暗黙的DDLのフィルタリングのガイドライン

暗黙的DDLのフィルタ方法は、DDLのフィルタに使用するメカニズムによって異なります。詳細は、「DDLレプリケーションのフィルタリング」を参照してください。

  • DDLパラメータを使用してDDL操作をフィルタする場合、ターゲットで明示的DDLによって暗黙的DDLが生成されるため、デフォルトではOracle GoldenGateで暗黙的DDLは除外されます。たとえば、前述の例のCREATE TABLE文がReplicatによって適用されると、ターゲット・データベースで適切な索引が作成されます。

  • DDLトリガーを使用してDDL操作をフィルタする場合、次の事項に基づいて、フィルタ・ルールで暗黙的DDLを処理する必要があります。

    • フィルタ・ルールで明示的DDLを伝播から除外する場合、暗黙的DDLを除外するルールも作成する必要があります。たとえば、次の例のCREATE TABLE文は除外するが、暗黙的CREATE UNIQUE INDEX文は除外しない場合、ターゲット・データベースは、存在しない表に索引を作成しようとします。

      CREATE TABLE customers (custID number, name varchar2(50), address varchar2(75), address2 varchar2(75), city varchar2(50), state (varchar2(2), zip number, contact varchar2(50), areacode number(3), phone number(7), primary key (custID));
      
    • フィルタリング・ルールで明示的DDLの伝播が許可されている場合、暗黙的DDLを除外する必要はありません。Oracle GoldenGateおよびターゲット・データベースによって適切に処理されます。