Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In order to simulate conflict in replication, we have to create at least one row, that is precise clone of another row. This cannot be created done on table, that has primary key defined. In RepAttack prepared testing environment, there are just two tables, that do not have primary keys defined:

REPOE.LOGON and REPOE.ORDERENTRY_METADATA. We will use the REPOE.LOGON table for duplicate creation. Run following insert on source database to create duplicity:

No Format
languagesql
REPOE@TTORCL_SRC>REPOE@SOURCE> insert into repoe.logon select * from repoe.logon where logon_id=1000000;
1 row created.
REPOE@TTORCL_SRC>REPOE@SOURCE> commit;
Commit complete.

Wait until the row gets replicated and confirm it also with dbvrep console.

Check, that the duplicated row also exists in the target database.

No Format
languagesql
REPOE@TTORCL_trg>REPOE@TARGET> select * from repoe.logon where logon_id=1000000 order by customer_id;
  LOGON_ID CUSTOMER_ID LOGON_DATE
---------- ----------- ------------------
   1000000      496840 31-MAR-06
   1000000      496840 31-MAR-06

...

On source database run following update command.

No Format
languagesql
REPOE@TTORCL_SRC>REPOE@SOURCE> update repoe.logon set logon_id=logon_id*100 where logon_id=1000000;
2 rows updated.
REPOE@TTORCL_SRC>REPOE@SOURCE> commit;
Commit complete.

Check in the console, that we have really created the conflict

...

Now we have to check whether our two rows got replicated:

No Format
REPOE@TTORCL_trg>REPOE@TARGET> select count(*) from repoe.logon where logon_id=1000000;
COUNT(*)
----------
0
REPOE@TTORCL_trg>REPOE@TARGET> select count(*) from repoe.logon where logon_id=100000000;
COUNT(*)
----------
2

...