A conflict is raised at the target database when one of more of the following are present:
- SQL affects zero rows
This causes data divergence and so a conflict is raised. This could also mean that the target data has changed independently of the source data.
- SQL affects more than one row
This causes data divergence and so a conflict is raised.
- Oracle error
This can range from usual primary key or foreign key violation (another type of data divergence) to purely technical reasons (cannot extend datafile).
- Lock timeout
If the apply waits for a row lock more than WATCHDOG_TIMEOUT seconds, a conflict is also reported.
A programme like Dbvisit's application for replication (Dbvisit Replicate) simplifies the administration of replication environments. With Dbvisit Replicate all of the conflict detection, handling, resolution and listing are done from one central place - the Dbvisit Replicate console (dbvrep). This console encompasses:
In particular the "LIST CONFLICT" command is very powerful as it enables the user to see the exact SQL that is causing the conflict. Having this information at hand makes it that much easier to make quick decisions about the conflict. In this tutorial video the "LIST CONFLICT" command is shown to demonstrate how it can be used to identify the offending SQL that is causing the conflict.
You can find out more about Dbvisit Replicate by clicking here. And finally, a quick note for our regular blog readers, from now on we will not be publishing notice of Dbvisit software updates in our blog. These will be communicated via our Twitter, Dbvisit Facebook page, and our LinkedIn company page.