RE: Oracle 11.2: Cursor Mutex S wait event and too many (2^30) child cursors

  • From: "Goulet, Richard" <Richard.Goulet@xxxxxxxxxxx>
  • To: <usn@xxxxxxxxx>, "Oracle-L Freelists" <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 4 Aug 2010 10:05:47 -0400

AH, someone else who has been bitten in the backside by the proverbial
Mutex.  Welcome to the club. 


Dick Goulet
Senior Oracle DBA/NA Team Lead
PAREXEL International

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Martin Klier
Sent: Wednesday, August 04, 2010 9:07 AM
To: Oracle-L Freelists
Cc: Tanel Poder
Subject: Oracle 11.2: Cursor Mutex S wait event and too many (2^30)
child cursors

Hi listers,

not at least with help from this list (Tanel and others) I was able to
sort out a nasty situation with Oracle 11gR2's child cursors. Details
are here:

http://www.usn-it.de/index.php/2010/08/04/oracle112-mutex-s-too-many-chi
ld-cursors/

Summary: If you use JDBC and set numeric values with setInteger or
setNumber or setNull alternately, you can get excessive numbers of child
cursors for your DML statement.

Solution: Use setNull.NUMBER or setNull.INTEGER or whatever your
datatype is.

Why? setNull defaults to VARCHAR2() and this will invalidate your child
cursor...

By the way, the same happens if you are subsequently extending string
bind variable lenghts, until you reach the maximum length!

Best regards and thanks for all your help in the past, not only for this
issue
Martin Klier
-- 
Usn's IT Blog for Linux, Oracle, Asterisk
http://www.usn-it.de

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


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


Other related posts: