Question: I am doing a distributed
update and I get this ORA-24756 error:
DISTRIB TRAN bea1.67AA54355C4A74ECDEE0
is local tran 6.42.332492 (hex=06.2a.512cc)
insert pending prepared tran, scn=8151148567799
(hex=769.d6509cf7)
Wed Jan 30 16:45:02 EAT 2015
Errors in file /oradata/sfapdb/bdump/sfapdb_reco_2739.trc:
ORA-24756: transaction does not exist
I also found out there are some records (trans_id =
"6.42.332492") in SYS.PENDING_TRANS$/ SYS.PENDING_SESSION$/dba_2pc_pending
with "prepare" status. This transaction is launched from a
Weblogic Server via JDBC. How do I resolve this
ORA-24756 error?
Answer: If
this does not always happen and it is sporadic, it may not
be a bug, most likely a network error.
There are many bugs associated with the ORA-44756
error, and there is always the likelihood that the root
cause of the error was due to a network failure.
The oerr utility shows this for the ORA-24756 error:
ORA-24756:
transaction does not exist
Cause: An invalid
transaction identifier or context was used or the
transaction has completed.
Action: Supply a
valid identifier if the transaction has not completed and
retry the call
This error is from a failed
two-phase commit. When Oracle makes a distributed
update, he updates BOTH databases before committing the
first update.

When you lose connectivity between distributed updates
you get entries in the dba_2pc_pending table.
References:
MOSC Note 1327159.1:
How to check the user and the SQL text (DML) of a
distributed transaction found in dba_2pc_pending
MOSC
Note 159377.1: How to Purge a Distributed Transaction
from a Database
MOSC Note 401302.1: How To Resolve Stranded
DBA_2PC_PENDING Entries
|
|
Get the Complete
Oracle SQL Tuning Information
The landmark book
"Advanced Oracle
SQL Tuning The Definitive Reference" is
filled with valuable information on Oracle SQL Tuning.
This book includes scripts and tools to hypercharge Oracle 11g
performance and you can
buy it
for 30% off directly from the publisher.
|