RE: Excessive "latch: row cache objects" waits with simple INSERT statement

  • From: "Mark W. Farnham" <mwf@xxxxxxxx>
  • To: <thomas.kellerer@xxxxxxxxxx>, <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 7 Oct 2020 17:47:38 -0400

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) ?


--
//www.freelists.org/webpage/oracle-l




--
//www.freelists.org/webpage/oracle-l


Other related posts: