この記事では特定のDDL文をレプリケーションから除外する方法について説明します。
Configで指定されない 複製対象外のオブジェクト(非複製オブジェクト)に対するDDLが有効な設定(SP_OCT_REPLICATE_ALL_DDL 1)において
SharePlex管理スキーマ(ユーザー)の SHAREPLEX_DDL_CONTROL テーブルを使用すると
非複製オブジェクトに対するDDLのうち特定のDDL文をレプリケーションから除外することができます。
以下の例では ソース側で下記SQL文を実行いただくことで、CREATE USER文 (51 / 0x33 HEX )をレプリケーションから除外させる設定を行います。
※設定後Captureプロセス等の再起動は不要です。
SQL> insert into SPLEX.SHAREPLEX_DDL_CONTROL(ddl_code) values (51);
SQL> commit;
なお、除外されたDDL文は実行の際、*ocap_ddl*.logにFilteredと出力されます。
ocap_ddl 2012-12-20 03:01:01.956089 30251 3482174144 User Name: "SYS" Status: Filtered
ocap_ddl 2012-12-20 03:01:01.956089 30251 3482174144 DDL = create user orauser5 identified by VALUES '788022110F2A7FC7' quota unlimited on users
ocap_ddl 2012-12-20 03:01:01.956089 30251 3482174144 Oracle Time: 12/20/12 03:00:59 object=ORAUSER5.
以下の管理者ガイドにはユーザーやオブジェクト名で絞り込む例も記載がございます。ご参考ください。
SharePlex 11.4 - 管理者ガイド DDLレプリケーションのフィルタリング
Configで指定される複製対象オブジェクトへのDDLに関してはこのような仕組みはございません。
DDL 複製について (4325965)