水平分割レプリケーションを設定することで条件にマッチしたレコードの複製先を制御することができます。
具体的な例を挙げて説明します。
1. レプリケーション対象の表を準備します。
以下定義の表を使用します。
======================================================
CREATE TABLE DEMO_SRC
(
NAME VARCHAR2(30 BYTE),
ADDRESS VARCHAR2(60 BYTE),
PHONE# VARCHAR2(12 BYTE),
COL1 VARCHAR2(12 BYTE)
);
======================================================
2. 構成ファイルを作成します。
ここでは scheme1 という名前のパーティションスキーマを設定します。
======================================================
datasource:o.orcl
scott.demo_src scott.demo_src !scheme1
! rhel6tgt:queue1@o.orcl2
! rhel6tgt:queue2@o.orcl2
======================================================
3. SHAREPLEX_PARTITION テーブルを設定します。
partition_schema 列には構成ファイルに記述したパーティションスキーマである scheme1 を設定します。
SQL> insert into shareplex_partition(partition_scheme,route,col_conditions)
values ('scheme1','rhel6tgt:queue1@o.orcl2','col1=''abc''');
SQL> insert into shareplex_partition(partition_scheme,route,col_conditions)
values ('scheme1','rhel6tgt:queue2@o.orcl2','col1=''xyz''');
SQL> commit;
4. アクティベートします。
上記設定によって col1='abc' のレコードは POST キュー queue1 を使用し、
col1='xyz' のレコードは POST キュー queue2 を使用します。
また、その他のレコード(col1='def'等)は、設定した条件にマッチしないためターゲット側に反映されません。
© ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center