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/