Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 7 Next »

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

The can be done with the list transactions command:

dbvrep> LIST TRANSACTIONS

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 source database. The Transaction ID is also set in columns MODULE and ACTION from V$SESSION 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. 

The Transaction ID is the hex value of the combined columns XIDUSN, XIDSLOT, XIDSQN from v$transaction on the source database. The Transaction ID is also set in columns MODULE and ACTION from V$SESSION on the target database.

To find the actual SQL statement run the following query and match the Transaction ID:

SQL> select inst_id, to_char(XIDUSN, 'xxxxxxxx'), to_char(XIDSLOT,'xxxxxxxx'), to_char(XIDSQN,'xxxxxxxx') from gv$transaction;
Use v$transaction on Non RAC systems instead of gv$transaction

If this above transaction does not return any rows, then look into v$session to find the Transaction ID in columns MODULE and ACTION

We are only interested in the INSERT statements.

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

dbvrep> apply commit transaction xxx

This will then cause the update statement to proceed as the insert statement is now committed on the target database

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

Please also see http://support.dbvisit.com/entries/24825508-Committing-uncommitted-transactions

  • No labels