Listing of the conflict with the LIST CONFLICT command
To view the actual SQL and other details associated with of the transaction that is causing the conflict:
dbvrep> LIST CONFLICT
or by specifying the actual conflict id
dbvrep> LIST CONFLICT 345
or by specifying last
dbvrep> LIST CONFLICT LAST
When no conflict data is shown with LIST CONFLICT
With two-way replication, multiple replication pairs or one-to-many replication, ensure the correct replication pair is chosen before issuing the LIST CONFLICT command. Please see CHOOSE REPLICATION
Viewing all the conflicts
It is also possible to obtain the conflict information directly from the Dbvisit Replicate repository. Logon to the apply (target database) as the Dbvisit Replicate schema owner (dbvrep) and query table:
DBRSAPPLY_CONFLICT_LOG
This lists all the conflicts encountered, including failing SQL.
The column SQL_TEXT contains the actual SQL statement that is run against the target database and includes the bind variables.
LIST TRANSACTIONS
When viewing the conflicts, it may also be useful to view the opened uncommitted transactions on apply. This commands shows the Transaction ID of the SQL that is uncommitted on Apply. The transaction id is the hex value of the combined columns XIDUSN, XIDSLOT, XIDSQN from v$transaction on the target database. The Transaction ID is also set in columns MODULE and ACTION from V$SESSION on the target database.
The transaction list may also include internal non committed transaction not related to the replication. Please see http://support.dbvisit.com/entries/24825508-Committing-uncommitted-transactions for an example of how to use this command.