Detecting SELECT FOR UPDATE WAIT ... failures

  • From: "Stuart Clowes" <stuart.clowes@xxxxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Wed, 21 Jun 2006 16:39:31 +0100

List,

We have a packaged app. One of our processes is issuing 'SELECT X FROM
TABLE_Y WHERE A=:1 FOR UPDATE WAIT 10'  (names changed to protect the
vendor....). .

This process is periodically having problems because the 'SELECT FOR UPDATE'
is timing out. This happens a few times a day, at unpredictable times. (Yes,
I know the code should cope gracefully with this......... but it doesn't).

I've been asked - what other process is holding the lock that this process
is failing to get?

The vendor is saying that they can't spot the conflicting DML in their code.
A trace file doesn't seems to help. I can't spot 'SELECT FOR UPDATE' in
Logminer output.

Do you have any thoughts on how I can approach this, aside from querying the
lock views all day?


Stuart

Other related posts: