表レベルのサプリメンタル・ロギングの有効化
サプリメンタル・ロギングの有効化のプロセスでは、Oracle GoldenGateにより、ソース・データベースの表レベルのロギングが、ソースDML操作のチェンジ・データ・キャプチャをサポートするように設定され、ロギングのレベルに応じて、競合の検出と解決が構成された双方向レプリケーションなどの場合に必要となる、変更されない追加の列が含められます。
PostgreSQLには、表のREPLICA IDENTITY
設定に相当する4つのレベルの表レベルのロギングがあり、これらのレベルにはNOTHING
、USING INDEX
、DEFAULT
およびFULL
が含まれます。
Oracle GoldenGateでは、非圧縮の証跡レコードおよび競合の検出と解決を必要とするユースケースにFULL
ロギングが必要ですが、単純な単方向構成で変更がレプリケートされる主キーまたは一意索引が表に存在する場合、またはイメージ前レコードや非圧縮レコード全体が不要である場合は、DEFAULT
レベルを使用できます。NOTHING
およびUSING INDEX
ロギング・レベルはOracle GoldenGateでサポートされておらず、ADD TRANDATA
では設定できません。
次に、管理クライアントから
ADD TRANDATA
を発行する構文を示します。DBLOGIN SOURCEDB dsn_name USERIDALIAS alias_name
ADD TRANDATA schema.tablename ALLCOLS
ノート:
主キーまたは一意索引が存在する表では、表に対してFULL
ロギングを設定するためにALLCOLS
オプションが必要であり、それ以外の場合は、DEFAULT
ロギングが設定されます。
FULL
ロギングは、ALLCOLS
が指定されているかどうかに関係なく、主キーまたは一意索引が存在しない表に対して常に設定されます。
サプリメンタル・ロギングのレベルをチェックするには、次のようにします。
INFO TRANDATA schema.tablename