Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Question: multi-master replication error handling
Hello,
I have a question concerning error handling with multi-master replication. Please send your replies to me at Marion.Kippers_at_wkap.nl , since I hardly ever get to read this group. Thanks.
I'll try to make it clear...
I have two databases and one table that's replicated between them. Rows in that table can be inserted, updated or deleted in either database, but in general a row will be inserted on either side and only updated on the other side. So there are no real "update conflict" situations. However, I do have triggers on that table for validation of the data, and those triggers are different on either side because they check different things.
Now here's my problem. In one transaction on one side a number of rows are inserted into the table, let's say 10. Those rows are replicated to the other side - but then a trigger goes off at the other side for one of the rows because of some invalid data. For some reason, the replication of those 10 rows is considered to be one transaction, and since there is an error, nothing is replicated. All 10 rows are rejected.
What I would prefer to happen is that the 9 correct rows are replicated, and that the 1 invalid row is reported to me with the possibility to fix the error and re-run replication for this 1 row. Or, if that isn't possible, I would like to be able to fix the error and re-run the replication for all 10 rows. Or well, at least I would like to be able to replicate those 9 correct rows and treat the 1 error row seperately.
Is that possible, and if so, how?
When I try to update the data in the originating table, replication treats that as a different transaction and tries to update the data on the other side, which gives the message "No data found", since the initial insert failed and the row doesn't exist yet on the other side. Not only for the 1 invalid row, but also for the 9 correct rows that weren't replicated because of that 1 invalid row.
The environment: Oracle 7 Server version 7.3.2.3.2 on Alpha OpenVMS, and I use the Oracle Replication Manager to set up and administer the replicaton.
Any suggestions are welcome.
Best wishes,
Marion
Marion.Kippers_at_wkap.nl
Received on Tue Apr 21 1998 - 08:27:10 CDT