果你原来两个数据库的表里数据不一致,你用dbms_repcat.add_master_database加表的时候用了:copy_rows=>false, oracle不会帮你做同步,因为你指明了说“不需要复制数据,我保证数据是一致”。这样你永远别想靠replication把数据同步。
你要么设置copy_rows=>ture,这样oracle会把远程表清空,做数据同步。
要么在用dbms_repcat.add_master_database就手工把数据搞成一致,再用copy_rows=>false把表加入replication group. 一般数据比较多都应该这么做。
大致上你可以:
suspend replication group:
BEGIN
DBMS_REPCAT.SUSPEND_MASTER_ACTIVITY (gname => 'xxx');
END;
/
begin
DBMS_REPCAT.DROP_MASTER_REPOBJECT (
sname=>'SCOTT',
oname=>'DEPT',
type=>'TABLE');
end;
/
add the object again:
BEGIN
DBMS_REPCAT.CREATE_MASTER_REPOBJECT(
gname => '"xxx"',
type => 'TABLE',
oname => '"DEPT"',
sname => '"SCOTT"',
copy_rows => TRUE,
use_existing_object => TRUE);
END;
/
gerenate support:
BEGIN
DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT (
sname => 'SCOTT',
oname => 'SCOTT',
type => 'TABLE',
min_communication => TRUE,
generate_80_compatible => FALSE);
END;
/
BEGIN
DBMS_REPCAT.RESUME_MASTER_ACTIVITY (gname => 'xxx');
END;
/
反正个别参数你看文档自己定吧。
5,
2,你的两个replication group应该没什么关联吧,保证你要用的那个是normal就可以了。看看dept被加到那个group了:
select gname from dba_repobject where oname='DEPT' and sname='SCOTT';[@more@]
你要么设置copy_rows=>ture,这样oracle会把远程表清空,做数据同步。
要么在用dbms_repcat.add_master_database就手工把数据搞成一致,再用copy_rows=>false把表加入replication group. 一般数据比较多都应该这么做。
大致上你可以:
suspend replication group:
BEGIN
DBMS_REPCAT.SUSPEND_MASTER_ACTIVITY (gname => 'xxx');
END;
/
begin
DBMS_REPCAT.DROP_MASTER_REPOBJECT (
sname=>'SCOTT',
oname=>'DEPT',
type=>'TABLE');
end;
/
add the object again:
BEGIN
DBMS_REPCAT.CREATE_MASTER_REPOBJECT(
gname => '"xxx"',
type => 'TABLE',
oname => '"DEPT"',
sname => '"SCOTT"',
copy_rows => TRUE,
use_existing_object => TRUE);
END;
/
gerenate support:
BEGIN
DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT (
sname => 'SCOTT',
oname => 'SCOTT',
type => 'TABLE',
min_communication => TRUE,
generate_80_compatible => FALSE);
END;
/
BEGIN
DBMS_REPCAT.RESUME_MASTER_ACTIVITY (gname => 'xxx');
END;
/
反正个别参数你看文档自己定吧。
5,
2,你的两个replication group应该没什么关联吧,保证你要用的那个是normal就可以了。看看dept被加到那个group了:
select gname from dba_repobject where oname='DEPT' and sname='SCOTT';[@more@]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12482/viewspace-816055/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12482/viewspace-816055/