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 Page History

« Previous Version 11 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 (run on source database):

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 on target database 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