ODP.NET The Promote Method Returned An Invalid Value For The Distributed Transaction against RAC database (Doc ID 1447739.1)

Last updated on JULY 05, 2017

Applies to:

Oracle Data Provider for .NET - Version 11.2.0.1 to 11.2.0.3 [Release 11.2]
Microsoft Windows x64 (64-bit)
Microsoft Windows (32-bit)
***Checked for relevance on 23-Dec-2013***

Symptoms


When connecting to a RAC database, trying to open a second connection in a promotable transaction, after the first connect was used to perform an operation that affected no records, results in

System.InvalidOperationException : The Promote method returned an invalid value for the distributed transaction.



Enabling Oracle Serices for Microsoft Transaction Server (ORAMTS) tracing on the client will show a failure similar to the following:

kpntsenp::enlist() - XID: 0x44444444-22e8ea801319da4ea822964106dcdd8200000000-310da89cf9807a42ac5564b9ff6722a601000000435444010007ee53523530303638344c
kpntcheckerr() - OCI_ERROR - 3113.
kpntcheckerr() - ORA-03113: end-of-file on communication channel
Process ID: 19255
Session ID: 1410 Serial number: 11181
kpntsenp::Enlist(0x0e4d07d0) - error starting Oracle transaction.


and is accompanied by ORA 7445 [k2sibg()+1237] in the alert log.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms