Versions Compared

Key

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

When a conflict arises, especially the "0 rows affected" conflict, it may be useful to view the opened uncommitted transactions on applyAPPLY

The This can be done with the list transactions command:

...

the List transactions command.

When the Transaction ID of the INSERT statement is found, then the record can be committed with:

No Format
bgColorCCC
dbvrep> apply LISTcommit transaction TRANSACTIONSxxx

LIST TRANSACTIONS

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 This will then cause the update statement to proceed as the insert statement is now committed on the target database.

The transaction list will also include internal non committed transaction not related to the replication.

Run the list transaction command repeatedly with about 1-2 seconds apart. Only if the same transactions ID stays after repeatedly running this command, then this is worthy of investigation. 

Please can also be rolled back with command:

No Format
bgColorCCC
dbvrep> apply rollback transaction xxx
Note

If uncommitted transactions happen on a frequent basis, please Contact Support

Note

Ensure the implications of committing or rolling back the transactions are understood before issuing these commands.

Please also see http://support.dbvisit.com/entries/24825508-Committing-uncommitted-transactions for an example of how to use this command.If uncommitted transactions happen on a frequent basis, please Contacting Support