具体的な例を挙げて説明します。
1. ソースとターゲットの両方でテーブルを作成します。
- source
$ sqlplus sq1/sq1
SQL> create table tbl (name varchar2(10) primary key, first varchar2(15));
- target
$ sqlplus sq1/sq1
SQL> create table tbl (name varchar2(10) primary key, first varchar2(15));
2. アクティベートします。
< config file >
---
...
expand sq1.% sq1.% hostname@o.orcl
---
3. TEST1 ユーザーによる変更をスキップするため、SP_OCT_DENIED_USERID パラメータを設定します。
SQL> select username,user_id from dba_users where username='TEST1';
USERNAME USER_ID
------------------------------ ----------
TEST1 94
sp_ctrl > set param SP_OCT_DENIED_USERID 94
4. TEST1ユーザーで INSERT 文を実行します。
$ sqlplus TEST1/TEST1
SQL> insert into sq1.tbl values ('ABCD','1234');
SQL> commit;
5. ターゲット側には複製されません。
SQL> select * from sq1.tbl;
no rows selected
6. TEST1 ユーザー以外で INSERT 文を実行します。
$ sqlplus sq1/sq1
SQL> insert into sq1.tbl values ('EFGH','5678');
SQL> commit;
7. ターゲット側に複製されます。
SQL> select * from tbl;
NAME FIRST
---------- ---------------
EFGH 5678
なお、SP_OCT_DENIED_USERID パラメータは、構成ファイルに定義されている複製対象テーブルに対して
の DML,DDL 文をスキップします。
SP_OCT_REPLICATE_ALL_DDL パラメータによる非複製テーブルに対しての DDL 文はスキップしません。
© ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center