- A filter was not configured during instantiation. Now data from the source database is to be deleted but you do not wish to have it deleted from the target database.
- Another use case is the desire to periodically purge the production database while keeping the data in the target (ie OLTP vs Historical).
- Replicate is configured and the schema/tables are being successfully replicated to target.
- There is a need/desire to not propagate deletes to target.
Any Transaction starting with
DBREPL_ is ignored by default when MINE prevention is enabled within Dbvisit Replicate. This is done by editing the
*-MINE.ddc file and adding the following two lines:
set _MINE_LOOP_PREVENTION = YES set MINE._MINE_LOOP_PREVENTION = YES
in Replicate >= release 2.9.00 the value is
set MINE_LOOP_PREVENTION = YES
MINE must be shut-down and restarted.
You can verify this is now enabled by grep'ing the log file for "Mine loop prevention" and checking it is now enabled:
$ grep "Mine loop prevention" *.log 2014/08/30 01:40:52 INFO> Mine loop prevention disabled. <- default 2014/08/30 01:42:42 INFO> Mine loop prevention enabled. <- after edit & restarting MINE
Anytime you want transactions that contain a
delete on the source database not to be propagated to target use the Oracle command:
SET TRANSACTION NAME 'DBREPL_%'
SQL> SET TRANSACTION NAME 'DBREPL_TEST_DELETE1'; SQL> delete from test.reptest where id >=31; SQL> COMMIT;
Donna Zehl September 04, 2014 01:50