Two phase XA transactions between what and what?
Oracle 2 phase commit amongst multiple Oracle data stores is one of the
sweetest bits of code ever written (thanks, Gary Hallmark, and XA is most
kindly described as a camel built by committee when you wanted a race horse.)
What are they trying to accomplish that involves both hibernate and XA, and how
do you decontaminate your brain after the experience (assuming wildly that it
ever comes to completion)?
Very often not even the 2 phase commit on Oracle is required, but it could be
if you're trying to lockstep update something like inventory quantities or bank
balances on two separate primary databases which can both initiate changes. If
it is just a recording feed, that is probably NOT a 2 phase commit requirement
even if the system sending the update requires commit confirmation to update a
status locally.
Good luck.
mwf
-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On ;
Behalf Of Thomas Kellerer
Sent: Tuesday, October 06, 2020 7:22 AM
To: oracle-l@xxxxxxxxxxxxx
Subject: Re: Excessive "latch: row cache objects" waits with simple INSERT
statement
Yes, looks like it. Apparently Hibernate lies when it claims it's doing batched
insert.
No VPD, no triggers.
But I just learned that those INSERTs are done using a 2-phase commit (XA
Transaction).
Could that be the cause these latch waits?
Jonathan Lewis schrieb am 05.10.2020 um 19:58:
The fact that the EXEC lines show: " r=1" suggests that you are doing
single row inserts. For array inserts I'd expect to see 'r={size of
array}'.
What about VPD (RLS) ?