Home » Server Options » Replication » Error during add new master in not quiescing mode (9.2.0.4)
Error during add new master in not quiescing mode [message #355743] Mon, 27 October 2008 05:43 Go to next message
foster06
Messages: 11
Registered: September 2008
Location: NICE
Junior Member
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.
Re: Error during add new master in not quiescing mode [message #356058 is a reply to message #355743] Wed, 29 October 2008 04:25 Go to previous messageGo to next message
sanei05
Messages: 104
Registered: September 2008
Senior Member
You cannot add the master site without quiescing the master group. You have suspend master activity first and then try to add the master site.
Re: Error during add new master in not quiescing mode [message #356065 is a reply to message #356058] Wed, 29 October 2008 04:57 Go to previous messageGo to next message
foster06
Messages: 11
Registered: September 2008
Location: NICE
Junior Member
Thanks for your response but I cannot quiesced the repication.

I have found a solution that is to passed the following command

UNDO_ADD_NEW_MASTERS_REQUEST

on all the master sites.

Pay attention, for the new site you want to add, you have to remove the repgroup before passed the command. If you passed the command before remove the repgroup, the command don't terminate.

Re: Error during add new master in not quiescing mode [message #356072 is a reply to message #356065] Wed, 29 October 2008 06:15 Go to previous messageGo to next message
sanei05
Messages: 104
Registered: September 2008
Senior Member
Thanks...
I have a got useful note from you.
Re: Error during add new master in not quiescing mode [message #356074 is a reply to message #356072] Wed, 29 October 2008 06:26 Go to previous messageGo to next message
sanei05
Messages: 104
Registered: September 2008
Senior Member
Hey,

Can you let me know is it possible to drop the rep_object without quiescing..
Re: Error during add new master in not quiescing mode [message #356094 is a reply to message #356074] Wed, 29 October 2008 08:46 Go to previous messageGo to next message
foster06
Messages: 11
Registered: September 2008
Location: NICE
Junior Member
Hi,

I think, my explanations are not clear.

You can't drop a repgroup (not repobject) of an already master site that is not quiesced.
But, when you want to add a new master site without quiesced other master site, Oracle created a new master site that is quiesced. So, if a error occured during the process of add a new master site, you can drop this new master without problem because it is quiesced.

If all the process of add a new master site is done without error, then the new master site is put into a active mode.

I have answer your question or not ?

Please tell me.

Re: Error during add new master in not quiescing mode [message #356213 is a reply to message #356094] Thu, 30 October 2008 00:11 Go to previous messageGo to next message
sanei05
Messages: 104
Registered: September 2008
Senior Member
Your explanation is very clear and I well understood.
But here in my replictation, couple of days back, some of the database residing on windows servers have got disappeared from multi master replication. So i added the master sites again...
Now when i generated the replication support, I see unwanted tables of that schema also have got replicated to the master sites as repobject. So I need to drop those repobjects without affecting the replication.

Also one more, those repobjects should not be dropped from master def site and 1 master site.

I have 8 database in the replication. So I was trying to get an advice frm you whethere is it possible to drop the repobjects from the master site alone without quiescing the replication.

please advice.
Re: Error during add new master in not quiescing mode [message #356291 is a reply to message #356213] Thu, 30 October 2008 04:02 Go to previous messageGo to next message
foster06
Messages: 11
Registered: September 2008
Location: NICE
Junior Member
Hi,

I don't know if I have well understood your problem, but I just tell you what I think it's possible with Oracle.

At the master definition site you have a master repgroup. I this master repgroup, you add repobject (that is TABLE for me).

When a table is added as repobject in a repgroup, it doesn't be used in a other repgroup.

When you add a master site, you add a repgroup with all its repobjects. But, in my mind, I don't think that you can drop a repobject of a repgroup in one master site and not in the others master site.
If you want to drop a repobject of a repgroup, the only way I know (and I use) is to quiesce the replication, drop the repobject connected to master definition site of the repgroup, and after activate the replication.

I don't know if I answer your question, but I don't understand how you can have unwanted tables replicated in a master site.

May be before add the master site again, you have to clear this master site at master definition site...

Re: Error during add new master in not quiescing mode [message #356295 is a reply to message #356291] Thu, 30 October 2008 04:11 Go to previous messageGo to next message
sanei05
Messages: 104
Registered: September 2008
Senior Member
Thanks a lot for your response.
yup. what you said was right.
But I was tryng to find out whether any way to drop repobject without quiescing..
Thanks again..
Re: Error during add new master in not quiescing mode [message #356301 is a reply to message #355743] Thu, 30 October 2008 04:26 Go to previous messageGo to next message
foster06
Messages: 11
Registered: September 2008
Location: NICE
Junior Member
May be you can help me. I have the following problem :

I have 3 databases (CTS1, CTS2 and CTST) in multimaster replication.

CTS1 and CTST first run without problem. CTS1 is master site definition.
I have added master site CTS2 without quiescing replication.
Now I have 3 master sites running.
I have the following problem :
A transaction from CTS1 are push to CTS2 and CTST
A transaction from CTS2 are push to CTS1 and CTST
But a transaction from CTST are push to CTS1 but not to CTS2, in fact, the transaction from CTST to CTS2 are not created beacause I don't see the transcation in the manager console, and I don't have any error. The problem is that CTS2 is different...

Please could you help me.
Re: Error during add new master in not quiescing mode [message #356305 is a reply to message #356301] Thu, 30 October 2008 04:39 Go to previous messageGo to next message
sanei05
Messages: 104
Registered: September 2008
Senior Member
I think you need to re-exceute the remote procedure call using the following procedure

DBMS_DEFER_SYS.EXECUTE

DBMS_DEFER_SYS.EXECUTE(
destination IN VARCHAR2,
stop_on_error IN BOOLEAN := FALSE,
transaction_count IN BINARY_INTEGER := 0,
execution_seconds IN BINARY_INTEGER := 0,
execute_as_user IN BOOLEAN := FALSE,
delay_seconds IN NATURAL := 0,
batch_size IN NATURAL := 0)


Do this at your current master site where the transaction has to be pushed to other site.
Re: Error during add new master in not quiescing mode [message #356320 is a reply to message #356305] Thu, 30 October 2008 05:29 Go to previous messageGo to next message
foster06
Messages: 11
Registered: September 2008
Location: NICE
Junior Member
My RDBMS is 9.2.0.4, and the command
DBMS_DEFER_SYS.EXECUTE
is obsolete.

Do you have any other advice.

icon9.gif  Re: Error during add new master in not quiescing mode [message #356323 is a reply to message #356320] Thu, 30 October 2008 05:41 Go to previous messageGo to next message
sanei05
Messages: 104
Registered: September 2008
Senior Member
Have you executed the
DBMS_DEFER_SYS.PUSH function on the master site.
Try to execute this function again.

Even this does not help, then you have to suspend the replication and resume.. Smile

This could help you out..

If even that does not help you, I dont have any idea beyond that... Razz
Re: Error during add new master in not quiescing mode [message #356330 is a reply to message #356323] Thu, 30 October 2008 06:04 Go to previous messageGo to next message
foster06
Messages: 11
Registered: September 2008
Location: NICE
Junior Member
Thanks,

DBMS_DEFER_SYS.PUSH work correctly but there is no transaction to push.

I have already suspend and resume the replication. No effect.
I have already regenerated the replication support. No effect.

I think it's just the internal trigger of the replication that does not fire for the CTS2 master site but fire for the CTST master site.

If you have a idea in the following days, please contact me.

Re: Error during add new master in not quiescing mode [message #356331 is a reply to message #356330] Thu, 30 October 2008 06:13 Go to previous message
sanei05
Messages: 104
Registered: September 2008
Senior Member
sure foster....
you too can contact me ..
Previous Topic: How to monitor complete refresh
Next Topic: illegal use of LONG datatype error message when i create materialized view
Goto Forum:
  


Current Time: Thu Mar 28 16:30:14 CDT 2024