ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 高级复制实施手记(4)

高级复制实施手记(4)

原创 Linux操作系统 作者:husthxd 时间:2006-06-08 00:00:00 0 删除 编辑

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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
长期从事政务、金融等行业产品研发和架构设计工作,对Oracle、PostgreSQL以及大数据等相关技术有深入研究。现就职于广州云图数据技术有限公司,系统架构师。

注册时间:2007-12-28

  • 博文量
    1171
  • 访问量
    3636742