高级复制实施手记(4)

4.创建主体复制组


本文可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明.

http://husthxd.itpub.net/post/11/111790

1) 创建组
这里建立的主体复制组为三个:
web应用主体组web_repg,业务用户biuser物化视图组biuser_repg,编码用户bm物化视图组bm_repg
CONNECT repadmin/repadmin@simis
BEGIN
DBMS_REPCAT.CREATE_MASTER_REPGROUP (
gname => 'web_repg');
END;
/
BEGIN
DBMS_REPCAT.CREATE_MASTER_REPGROUP (
gname => 'biuser_repg');
END;
/
BEGIN
DBMS_REPCAT.CREATE_MASTER_REPGROUP (
gname => 'bm_repg');
END;
/

2) 在web主体组中加复制对象
只是加入主体复制组对象的示例代码:
BEGIN
DBMS_REPCAT.SUSPEND_MASTER_ACTIVITY (
gname => 'web_repg');
END;
/
BEGIN
DBMS_REPCAT.DROP_MASTER_REPOBJECT (
type => 'TABLE',
oname => ' EMPLOYEES ',
sname => 'web');
END;
/
BEGIN
DBMS_REPCAT.DROP_MASTER_REPGROUP (
gname => 'web_repg',
drop_contents => FALSE,
all_sites => FALSE);
END;
/
exec DBMS_REPCAT.CREATE_MASTER_REPOBJECT (sname => 'web',gname => 'web_repg',type => 'TABLE',oname => 'EMPLOYEES ',use_existing_object => TRUE,copy_rows => FALSE);

创建web复制对象,使用数据字典中的信息自动生成脚本。
set heading off
set pagesize 0
set linesize 800
connect web/web@simis
spool add_web_rep_object.sql

select 'exec DBMS_REPCAT.CREATE_MASTER_REPOBJECT (sname => ''web'',gname => ''web_repg'',type => ''TABLE'',oname => '||''''||table_name||''''||',use_existing_object => TRUE,copy_rows => FALSE);'
from user_tables
/

spool off
connect repadmin/repadmin@simis
@add_web_rep_object.sql
host add_web_rep_object.sql

创建biuser用户的主体复制对象
connect biuser/biuser@simis
set heading off
set linesize 800
set pagesize 0
spool add_biuser_rep_object.sql

select 'exec DBMS_REPCAT.CREATE_MASTER_REPOBJECT (sname => ''biuser'',gname => ''biuser_repg'',type => ''TABLE'',oname => '||''''||table_name||''''||',use_existing_object => TRUE,copy_rows => FALSE);'
from user_tables
where table_name not like '%$%'
/

spool off

connect repadmin/repadmin@simis
spool c:spooladd_biuser_rep_object.log
@add_biuser_rep_object.sql
spool off
host del add_biuser_rep_object.sql
创建bm用户的主体复制对象
connect bm/bm@simis
spool add_bm_rep_object.sql

select 'exec DBMS_REPCAT.CREATE_MASTER_REPOBJECT (sname => ''bm'',gname => ''bm_repg'',type => ''TABLE'',oname => '||''''||table_name||''''||',use_existing_object => TRUE,copy_rows => FALSE);'
from user_tables
where table_name not like '%$%'
/

spool off
connect repadmin/repadmin@simis
spool c:spooladd_bm_rep_object.log
@add_bm_rep_object.sql
spool off

3) 加入其他的主体复制站点,这里是web.simis
BEGIN
DBMS_REPCAT.ADD_MASTER_DATABASE (
gname => 'web_repg',
master => 'web.simis',
use_existing_objects => TRUE,
copy_rows => FALSE,
propagation_mode => 'ASYNCHRONOUS');
END;
/

用以下查询确认是否加入该主体站点
SELECT DBLINK FROM DBA_REPSITES WHERE lower(GNAME) = 'web_repg';

4) 生成高级复制支持
创建web复制支持,默认的schema name为web,必要需要修改
connect web/web@simis
set heading off
set pagesize 0
set linesize 800
spool add_web_rep_support.sql

select 'exec DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT (sname => ''web'',oname => '||''''||table_name||''''||',type => ''TABLE'',min_communication => TRUE);'
from user_tables
/

spool off
connect repadmin/repadmin@simis
@add_web_rep_support.sql
生成用户biuser的复制支持。
connect biuser/biuser@simis
spool add_biuser_rep_support.sql

select 'exec DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT (sname => ''biuser'',oname => '||''''||table_name||''''||',type => ''TABLE'',min_communication => TRUE);'
from user_tables
/

spool off
connect repadmin/repadmin@simis
@add_biuser_rep_support.sql
生成bm的复制支持
connect bm/bm@simis
set heading off
set pagesize 0
set linesize 800
spool add_bm_rep_support.sql

select 'exec DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT (sname => ''bm'',oname => '||''''||table_name||''''||',type => ''TABLE'',min_communication => TRUE);'
from user_tables
/

spool off
connect repadmin/repadmin@simis
@add_bm_rep_support.sql
注意:在生成复制支持后刷新job有可能会自动中断,需要手工运行job以使job正常定期执行!

5) 恢复主体复制活动
BEGIN
DBMS_REPCAT.RESUME_MASTER_ACTIVITY (
gname => 'web_repg');
END;
/
BEGIN
DBMS_REPCAT.RESUME_MASTER_ACTIVITY (
gname => 'biuser_repg');
END;
/
BEGIN
DBMS_REPCAT.RESUME_MASTER_ACTIVITY (
gname => 'bm_repg');
END;
/

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/6906/viewspace-22052/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/6906/viewspace-22052/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值