I need to run an update on a big table that is being replicated using oracle advanced replication.
I don't want the replication to run the update on the second side, but I want to run the update myself on both sites.
how can I do this?
I understand I can suspend the replication using
-- Stop Replication
EXECUTE Dbms_Repcat.Suspend_Master_Activity(gname => 'MYREPGRP');
-- Start Replication
EXECUTE Dbms_Repcat.Resume_Master_Activity(gname => 'MYREPGRP');
But when I will start it it will start the update again on both sites. how can I stop the update when the replications starts again?
Dou you have set up Mutli-Master replication or Master-Snapshot replication ?
If you have Master-Snapshot replication are snapshots updateable ?
When you want to do big update and don't replicate it but do it on every site tehn in general you have to:
1/ do refresh/ push all deffered transaction to get all sites to same consistent state
2/ stop replication
3/ do same update on all sites
4/ start replication again
When replication it stopped you must prevent bussines users from using the application.
What replication model are you using ? Multi-Master or Master-Snapshot.
There is package dbms_reputil with replication_on and replication_off procedures. You can disable replication in session by calling it.
I used then in Master-Snapshot configuration with updatable snapshots.
I suppose that it will work in Multi-Master configuration too.