レプリケーションのためのDDLフィルタリングの使用
MySQLのDDLレプリケーションでは次のオプションがサポートされます。
オプション | 説明 |
---|---|
|
表の作成を含めます。 |
|
|
|
|
|
この文字列を含むDDLを含めます。 |
|
この文字列を含むDDLを除外します。 |
|
MySQL DDLではこのオプションが使用されます。Oracle GoldenGateのMySQL DDLレプリケーションのデフォルトとして使用する必要があります。 |
|
デフォルト・オプション。 |
すべてのオプションのリストは、『Oracle GoldenGateリファレンス』のDDLに関する項を参照してください。
DDL文とオプションの使用
-
INCLUDE
(デフォルト)は、後続の記述に適合するすべてのオブジェクトを包含します。EXCLUDE
は記述に適合する項目を除外します。除外ルールは包含ルールより優先されます。 -
OPTYPE
は包含または除外する操作のタイプを指定します。CREATE
およびALTER
を使用できます。カッコを使用して複数のOPTYPE
を指定できます。たとえば、optype (create, alter)
と指定します。アスタリスク(*)のワイルドカードを指定して、すべての操作タイプを指定できます(デフォルト)。 -
OBJTYPE
は包含または除外するTABLE
操作を指定します。ワイルドカードを指定して、すべてのオブジェクト・タイプを指定できます(デフォルト)。 -
OBJNAME
は包含または除外する実際のオブジェクト名を指定します。たとえば、eric.*
と指定します。ワイルドカードは、複数の表を指定するその他の場合と同様に指定します。デフォルトは*
です。 -
String
は、stringspec
の文字列が存在する場合はルールがtrueであることを示します(または、excludestring
を指定すると、stringspec
が存在する場合はfalseになります)。複数のstring
項目を指定する場合は、各stringspec
の少なくとも1つの項目が存在しなければ、ルールはtrueになりません。たとえば:ddlops string (“a”, “b”), string (“c”) evaluates true if string “a” OR “b” is present, AND string “c” is present
-
local
は、現在のExtract証跡のみにルールを適用する場合に指定します(ルールを適用するExtract証跡をこのddlops
指定の前に記述する必要があります)。 -
パラメータ項目の終了を示すためにセミコロンが必要です。
たとえば:
ddl optype (create, drop), objname (eric.*); ddl exclude objname (eric.tab*); exttrail a; exttrail b; ddl optype (create), objname (joe.*), string (“abc”, “xyz”) local; ddl optype (alter), objtype (index);
この例では、
exttrail a
がeric
に属するすべてのオブジェクトに対するcreateおよびdropを取得しますが、tab
で始まるオブジェクトは除外されます。さらに、exttrail a
はすべてのalter index文を取得しますが、索引名がtab
で始まる場合は除外されます(たとえ、exttrail b
に含まれていてもルールはグローバルです)。exttrail b
はa
と同じオブジェクトを取得し、さらにjoe
に属するオブジェクトに対するすべてのcreateを取得します(文字列abc
またはxyz
がDDLテキストに存在する場合)。ddlops.c
モジュールはすべてのDDL操作パラメータを格納し、関連するルールを実行します。
さらに、DDLOPTIONS
パラメータでは、フィルタリングおよび文字列置換以外のDDL処理を構成します。DDLOPTIONS
文は複数使用可能ですが、1つの文のみを使用することをお薦めします。複数のDDLOPTIONS
文を使用する場合は、相互に上書きしないように、それぞれを一意の文にする必要があります。複数のDDLOPTIONS
文は、パラメータ・ファイルに指定された順に実行されます。
DDLおよびDDLOPTIONSに関する項を参照してください。
親トピック: MySQL: DDLレプリケーション