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

  • From: Martin Klier <usn@xxxxxxxxx>
  • To: Oracle-L Freelists <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 04 Aug 2010 15:06:46 +0200

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-child-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


Other related posts: