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

  • From: Glenn Santa Cruz <glenn.santacruz@xxxxxxxxx>
  • To: "ukja.dion@xxxxxxxxx" <ukja.dion@xxxxxxxxx>
  • Date: Wed, 4 Aug 2010 19:46:21 -0500


On Aug 4, 2010, at 7:06 PM, Dion Cho <ukja.dion@xxxxxxxxx> wrote:

> It's everybody's joy to see this kind of real-life troubleshooting. :)
> 
> Besides, Oracle 11g has a way of enabling sql_trace for a specific SQL_ID, 
> which would make you more comfortable.
> 
> http://oraclue.com/2009/03/24/oracle-event-sql_trace-in-11g/
> 
> This means that Oracle 11g now has a totally redesigned trace functionality!
> 
> ================================
> Dion Cho - Oracle Performance Storyteller
> 
> http://dioncho.wordpress.com
> ================================
> 
> 
> 2010/8/4 Martin Klier <usn@xxxxxxxxx>
> 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: