Hello,
I have a big problem and I don't know how to resolve.
I have a multimaster replication between 2 sites (BASE1 and BASE3). BASE1 is the master definition site.
I want to add a new master site without quiescing the master group (named GM_ADMINISTRATEUR).
First, I have used the script provided by Oracle :
DBMS_REPCAT.SPECIFY_NEW_MASTER (
gname => 'GM_ADMINISTRATEUR',
master_list => 'BASE2.WORLD' );
and
DBMS_REPCAT.ADD_NEW_MASTERS( ....);

The first time, I had Errors, so I use the command
DBMS_REPCAT.UNDO_ADD_NEW_MASTERS_REQUEST
and I drop the master site BASE2 (connected as repadmin to BASE2 site).

The master site BASE2 is not present at BASE1 master definition site,
The master repgroup is not present at BASE2
BUT, the master site BASE2 is always present at BASE3 master site.
I think that the command UNDO_ADD_NEW_MASTERS_REQUEST undo the changes on BASE1 (the master definition site) but don't undo the changes on the site BASE3.

And now, when I want redo the add_new_masters, the command
DBMS_REPCAT.ADD_NEW_MASTER
return a error on the command ADD_NEW_MASTER in the DBA_REPCATALOG for the following reason:
ORA-00001: violation de contrainte unique (SYSTEM.REPCAT$_REPSCHEMA_PRIMARY)
ORA-06512: à "SYS.DBMS_REPCAT_UTL", ligne 4484
ORA-06512: à "SYS.DBMS_REPCAT_RPC", ligne 1758

And I can't continue because the new master site BASE2 does not appear at BASE1 master definition site.

I think I have to drop the master site BASE2 at the master site BASE3, but I dont know how to do this.

Please, could you help me because these bases are production base and I have to had the new one (BASE2) before the 1 november.

**** Following information at BASE1 (master definition site : *****
prompt Replication schemas/ sites
Replication schemas/ sites
select
sname,
masterdef,
dblink
from
sys.dba_repschema;

SchemaName MasterDef? DBLink
-------------------- ---------- -----------------------------------
GM_ADMINISTRATEUR Y CTS1
GM_ADMINISTRATEUR N CTST

2 ligne(s) sélectionnée(s).


prompt RepCat Log (after a while you should see no entries):
RepCat Log (after a while you should see no entries):
select
request,
status,
message,
errnum
from
sys.dba_repcatlog;

aucune ligne sélectionnée


prompt Entries in the job queue
Entries in the job queue
select
job,
last_date,
last_sec,
next_date,
next_sec,
broken,
failures,
what
from
sys.dba_jobs
where
schema_user = 'REPADMIN';

JOB LAST_DAT LAST_SEC NEXT_DAT NEXT_SEC Broken FAILURES
---------- -------- -------- -------- -------- ------ ----------
WHAT
------------------------------------------------------------------------204 27/10/08 11:54:56 27/10/08 11:55:56 N 0
declare rc binary_integer; begin rc := sys.dbms_defer_sys.push(destination=>'CTST', execution_seconds=>0, delay_seconds=>0, parallelism=>1); end;

120 27/10/08 11:47:15 27/10/08 11:57:15 N 0
declare rc binary_integer; begin rc := sys.dbms_defer_sys.purge( delay_seconds=>0); end;

205 27/10/08 11:54:56 27/10/08 11:55:56 N 0
declare rc binary_integer; begin rc := sys.dbms_defer_sys.push(destination=>'CTS2', execution_seconds=>0, delay_seconds=>0, parallelism=>1); end;

123 27/10/08 11:47:05 27/10/08 11:57:05 N 0
dbms_repcat.do_deferred_repcat_admin('"GM_ADMINISTRATEUR"', FALSE);


4 ligne(s) sélectionnée(s).


prompt Replication Status:
Replication Status:
select
sname,
master,
status
from
sys.dba_repcat;

SchemaName M STATUS
-------------------- - ---------
GM_ADMINISTRATEUR Y NORMAL

1 ligne sélectionnée.


prompt Returns all conflict resolution methods
Returns all conflict resolution methods
select * from all_repconflict;

aucune ligne sélectionnée


prompt Returns all resolution methods in use
Returns all resolution methods in use
select * from all_represolution;

aucune ligne sélectionnée

prompt Objects registered for replication
Objects registered for replication
select
gname,
type||' '||sname||'.'||oname object,
status
from
sys.dba_repobject;

GroupName OBJECT STATUS
-------------------- -------------------------------------------------- ----------
GM_ADMINISTRATEUR TABLE ADMINISTRATEUR.ANALAFAIRE VALID
GM_ADMINISTRATEUR PACKAGE ADMINISTRATEUR.ANALAFAIRE$RP VALID
....

select * from dba_repsites;

GroupName DBLink MasterDef? S MASTER_COMMENT M PROP_UPDATES M GROUP_OWNER
-------------------- ----------------------------------- ---------- - -------------------------------------------------------------------------------- - ------------ - ------------------------------
GM_ADMINISTRATEUR CTS1 Y Y 0 Y PUBLIC
GM_ADMINISTRATEUR CTST N Y 0 N PUBLIC

2 ligne(s) sélectionnée(s).

**** Following information at BASE3 (master site in use: *****
prompt Replication schemas/ sites
Replication schemas/ sites
select
sname,
masterdef,
dblink
from
sys.dba_repschema;

SchemaName MasterDef? DBLink
-------------------- ---------- -----------------------------------
GM_ADMINISTRATEUR N CTST
GM_ADMINISTRATEUR Y CTS1
GM_ADMINISTRATEUR N CTS2

3 ligne(s) sélectionnée(s).


prompt RepCat Log (after a while you should see no entries):
RepCat Log (after a while you should see no entries):
select
request,
status,
message,
errnum
from
sys.dba_repcatlog;

aucune ligne sélectionnée


prompt Entries in the job queue
Entries in the job queue
select
job,
last_date,
last_sec,
next_date,
next_sec,
broken,
failures,
what
from
sys.dba_jobs
where
schema_user = 'REPADMIN';

JOB LAST_DAT LAST_SEC NEXT_DAT NEXT_SEC Broken FAILURES
---------- -------- -------- -------- -------- ------ ----------
WHAT
-----------------------------------------------------------------------204 27/10/08 10:56:08 27/10/08 10:57:08 N 0
declare rc binary_integer; begin rc := sys.dbms_defer_sys.push(destination=>'CTS1', execution_seconds=>0, delay_seconds=>0, parallelism=>1); end;

208 27/10/08 10:56:08 27/10/08 10:57:08 N 0
declare rc binary_integer; begin rc := sys.dbms_defer_sys.push(destination=>'CTS2', execution_seconds=>0, delay_seconds=>0, parallelism=>1); end;

206 27/10/08 10:56:03 27/10/08 11:06:03 N 0
dbms_repcat.do_deferred_repcat_admin('"GM_ADMINISTRATEUR"', FALSE);

207 27/10/08 10:47:40 27/10/08 10:57:40 N 0
declare rc binary_integer; begin rc := sys.dbms_defer_sys.purge( delay_seconds=>0); end;


4 ligne(s) sélectionnée(s).


prompt Replication Status:
Replication Status:
select
sname,
master,
status
from
sys.dba_repcat;

SchemaName M STATUS
-------------------- - ---------
GM_ADMINISTRATEUR Y NORMAL

1 ligne sélectionnée.


prompt Returns all conflict resolution methods
Returns all conflict resolution methods
select * from all_repconflict;

aucune ligne sélectionnée


prompt Returns all resolution methods in use
Returns all resolution methods in use
select * from all_represolution;

aucune ligne sélectionnée

prompt Objects registered for replication
Objects registered for replication
select
gname,
type||' '||sname||'.'||oname object,
status
from
sys.dba_repobject;

GroupName OBJECT STATUS
-------------------- -------------------------------------------------- ----------
GM_ADMINISTRATEUR TABLE ADMINISTRATEUR.ANALAFAIRE VALID
GM_ADMINISTRATEUR PACKAGE ADMINISTRATEUR.ANALAFAIRE$RP VALID
....
select * from dba_repsites;

GroupName DBLink MasterDef? S MASTER_COMMENT M PROP_UPDATES M GROUP_OWNER
-------------------- ----------------------------------- ---------- - -------------------------------------------------------------------------------- - ------------ - ------------------------------
GM_ADMINISTRATEUR CTST N Y 0 Y PUBLIC
GM_ADMINISTRATEUR CTS1 Y Y 0 N PUBLIC
GM_ADMINISTRATEUR CTS2 N add_master_db w/o quiesce Y 0 N PUBLIC

3 ligne(s) sélectionnée(s).

**** Following information at BASE2 (master definition I want add : *****
prompt Replication schemas/ sites
Replication schemas/ sites
select
sname,
masterdef,
dblink
from
sys.dba_repschema;

aucune ligne sélectionnée


prompt RepCat Log (after a while you should see no entries):
RepCat Log (after a while you should see no entries):
select
request,
status,
message,
errnum
from
sys.dba_repcatlog;

aucune ligne sélectionnée


prompt Entries in the job queue
Entries in the job queue
select
job,
last_date,
last_sec,
next_date,
next_sec,
broken,
failures,
what
from
sys.dba_jobs
where
schema_user = 'REPADMIN';

JOB LAST_DAT LAST_SEC NEXT_DAT NEXT_SEC Broken FAILURES
---------- -------- -------- -------- -------- ------ ----------
WHAT
---------------------------------------------------------------208 27/10/08 11:55:20 27/10/08 11:56:20 N 0
declare rc binary_integer; begin rc := sys.dbms_defer_sys.purge( delay_seconds=>0); end;

209 27/10/08 11:55:55 27/10/08 11:56:55 N 0
declare rc binary_integer; begin rc := sys.dbms_defer_sys.push(destination=>'CTS1', execution_seconds=>0, delay_seconds=>0, parallelism=>1); end;

211 27/10/08 11:56:01 27/10/08 11:57:01 N 0
declare rc binary_integer; begin rc := sys.dbms_defer_sys.push(destination=>'CTST', execution_seconds=>0, delay_seconds=>0, parallelism=>1); end;


3 ligne(s) sélectionnée(s).


prompt Replication Status:
Replication Status:
select
sname,
master,
status
from
sys.dba_repcat;

aucune ligne sélectionnée


prompt Returns all conflict resolution methods
Returns all conflict resolution methods
select * from all_repconflict;

aucune ligne sélectionnée


prompt Returns all resolution methods in use
Returns all resolution methods in use
select * from all_represolution;

aucune ligne sélectionnée

prompt Objects registered for replication
Objects registered for replication
select
gname,
type||' '||sname||'.'||oname object,
status
from
sys.dba_repobject;

aucune ligne sélectionnée


select * from dba_repsites;

aucune ligne sélectionnée

Thanks a lot for your help.