<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Oracle 11.2: Cursor Mutex S wait event and too many (2^30) child cursors</title>
	<atom:link href="http://www.usn-it.de/index.php/2010/08/04/oracle112-mutex-s-too-many-child-cursors/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.usn-it.de/index.php/2010/08/04/oracle112-mutex-s-too-many-child-cursors/</link>
	<description>Martin Klier - Oracle, Linux, MS SQL Server</description>
	<lastBuildDate>Sat, 25 May 2013 17:49:51 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5</generator>
	<item>
		<title>By: Pawel Wadas</title>
		<link>http://www.usn-it.de/index.php/2010/08/04/oracle112-mutex-s-too-many-child-cursors/comment-page-1/#comment-169504</link>
		<dc:creator>Pawel Wadas</dc:creator>
		<pubDate>Sat, 25 May 2013 17:49:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.usn-it.de/?p=463#comment-169504</guid>
		<description><![CDATA[Thank you for posting this info Martin - it helped me a lot with similar problem :)]]></description>
		<content:encoded><![CDATA[<p>Thank you for posting this info Martin &#8211; it helped me a lot with similar problem :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: usn</title>
		<link>http://www.usn-it.de/index.php/2010/08/04/oracle112-mutex-s-too-many-child-cursors/comment-page-1/#comment-103041</link>
		<dc:creator>usn</dc:creator>
		<pubDate>Mon, 22 Oct 2012 11:45:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.usn-it.de/?p=463#comment-103041</guid>
		<description><![CDATA[Stalin, there are many bugs in 11.2.0.2.x, including the diagnostics views, especially v$sql_shared_cursor. 

Try to upgrade or at least to reproduce on 11.2.0.3.x, you probably will be surprised.]]></description>
		<content:encoded><![CDATA[<p>Stalin, there are many bugs in 11.2.0.2.x, including the diagnostics views, especially v$sql_shared_cursor. </p>
<p>Try to upgrade or at least to reproduce on 11.2.0.3.x, you probably will be surprised.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stalin</title>
		<link>http://www.usn-it.de/index.php/2010/08/04/oracle112-mutex-s-too-many-child-cursors/comment-page-1/#comment-102077</link>
		<dc:creator>Stalin</dc:creator>
		<pubDate>Thu, 18 Oct 2012 21:43:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.usn-it.de/?p=463#comment-102077</guid>
		<description><![CDATA[Hi Martin,

We are having similar problem in one of busy production database running 11.2.0.2.4 .

Running the version_rpt script from MOS, i see that for the interested SQL with bind_mismatch... 

Cols 1,2,3 are timestamp datatype columns. Are they having differences in the precision/scale?


Snip from output.

Versions Summary                                                                
----------------                                                                
AUTH_CHECK_MISMATCH :199                                                        
BIND_MISMATCH :191                                                              
TRANSLATION_MISMATCH :199                                                       
ROLL_INVALID_MISMATCH :201                                                      
PURGED_CURSOR :176                                                              
                                                                                
Total Versions:200                                                              
                                                                                
Plan Hash Value Summary                                                         
-----------------------                                                         
Plan Hash Value Count                                                           
=============== =====                                                           
     1376985012 200                                                             
                                                                                                
Details for BIND_MISMATCH :                                                     
                                                                                
Consolidated details for :                                                      
BIND_MISMATCH,USER_BIND_PEEK_MISMATCH,BIND_UACS_DIFF and                        
BIND_EQUIV_FAILURE (Mislabled as ROW_LEVEL_SEC_MISMATCH BY bug 6964441 in 11gR1)
                                                                                
from v$sql_bind_capture                                                         
COUNT(*) POSITION MIN(MAX_LENGTH) MAX(MAX_LENGTH) DATATYPE (PRECISION,SCALE)    
======== ======== =============== =============== ======== ================     
     113        1              11              11      180 (,9)                 
      88        1              11              11      180 (,)                  
     120        2              11              11      180 (,9)                 
      81        2              11              11      180 (,)                  
     170        3              11              11      180 (,9)                 
      31        3              11              11      180 (,)                  
     201        4              22              22        2 (,)                  
     201        5              22              22        2 (,)                  
     201        6              32              32        1 (,)                  
                                                                                
SUM(DECODE(column,Y, 1, 0) FROM V$SQL                                           
IS_OBSOLETE IS_BIND_SENSITIVE IS_BIND_AWARE IS_SHAREABLE                        
=========== ================= ============= ============                        
          0               159             0          159                        
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]]></description>
		<content:encoded><![CDATA[<p>Hi Martin,</p>
<p>We are having similar problem in one of busy production database running 11.2.0.2.4 .</p>
<p>Running the version_rpt script from MOS, i see that for the interested SQL with bind_mismatch&#8230; </p>
<p>Cols 1,2,3 are timestamp datatype columns. Are they having differences in the precision/scale?</p>
<p>Snip from output.</p>
<p>Versions Summary<br />
&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
AUTH_CHECK_MISMATCH :199<br />
BIND_MISMATCH :191<br />
TRANSLATION_MISMATCH :199<br />
ROLL_INVALID_MISMATCH :201<br />
PURGED_CURSOR :176                                                              </p>
<p>Total Versions:200                                                              </p>
<p>Plan Hash Value Summary<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Plan Hash Value Count<br />
=============== =====<br />
     1376985012 200                                                             </p>
<p>Details for BIND_MISMATCH :                                                     </p>
<p>Consolidated details for :<br />
BIND_MISMATCH,USER_BIND_PEEK_MISMATCH,BIND_UACS_DIFF and<br />
BIND_EQUIV_FAILURE (Mislabled as ROW_LEVEL_SEC_MISMATCH BY bug 6964441 in 11gR1)</p>
<p>from v$sql_bind_capture<br />
COUNT(*) POSITION MIN(MAX_LENGTH) MAX(MAX_LENGTH) DATATYPE (PRECISION,SCALE)<br />
======== ======== =============== =============== ======== ================<br />
     113        1              11              11      180 (,9)<br />
      88        1              11              11      180 (,)<br />
     120        2              11              11      180 (,9)<br />
      81        2              11              11      180 (,)<br />
     170        3              11              11      180 (,9)<br />
      31        3              11              11      180 (,)<br />
     201        4              22              22        2 (,)<br />
     201        5              22              22        2 (,)<br />
     201        6              32              32        1 (,)                  </p>
<p>SUM(DECODE(column,Y, 1, 0) FROM V$SQL<br />
IS_OBSOLETE IS_BIND_SENSITIVE IS_BIND_AWARE IS_SHAREABLE<br />
=========== ================= ============= ============<br />
          0               159             0          159<br />
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Craig</title>
		<link>http://www.usn-it.de/index.php/2010/08/04/oracle112-mutex-s-too-many-child-cursors/comment-page-1/#comment-43095</link>
		<dc:creator>Craig</dc:creator>
		<pubDate>Mon, 03 Oct 2011 22:47:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.usn-it.de/?p=463#comment-43095</guid>
		<description><![CDATA[A workaround is to create a stored outline for the affected cursor using dbms_outln.create_outline(a,b)  where a=sql_hash_value and b=child_number of the one of the child cursors associated with the one plan you wish to enforce.]]></description>
		<content:encoded><![CDATA[<p>A workaround is to create a stored outline for the affected cursor using dbms_outln.create_outline(a,b)  where a=sql_hash_value and b=child_number of the one of the child cursors associated with the one plan you wish to enforce.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: usn</title>
		<link>http://www.usn-it.de/index.php/2010/08/04/oracle112-mutex-s-too-many-child-cursors/comment-page-1/#comment-27400</link>
		<dc:creator>usn</dc:creator>
		<pubDate>Wed, 23 Feb 2011 21:35:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.usn-it.de/?p=463#comment-27400</guid>
		<description><![CDATA[(Un)fortunately I am no developer. From a DBA perspective, you have to avoid anything that makes a cursor different - in this case it has been different datatypes, coming from the default behaviour of the setter method for NULL, using VARCHAR2 as default datatype. 

Hopefully an abstraction layer as Hibernate has built in this knowledge. You can check by tracing the query as described in http://www.usn-it.de/index.php/2010/08/05/oracle-11g-trace-particular-sql-id/

Martin]]></description>
		<content:encoded><![CDATA[<p>(Un)fortunately I am no developer. From a DBA perspective, you have to avoid anything that makes a cursor different &#8211; in this case it has been different datatypes, coming from the default behaviour of the setter method for NULL, using VARCHAR2 as default datatype. </p>
<p>Hopefully an abstraction layer as Hibernate has built in this knowledge. You can check by tracing the query as described in <a href="http://www.usn-it.de/index.php/2010/08/05/oracle-11g-trace-particular-sql-id/" rel="nofollow">http://www.usn-it.de/index.php/2010/08/05/oracle-11g-trace-particular-sql-id/</a></p>
<p>Martin</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jetlag</title>
		<link>http://www.usn-it.de/index.php/2010/08/04/oracle112-mutex-s-too-many-child-cursors/comment-page-1/#comment-27389</link>
		<dc:creator>jetlag</dc:creator>
		<pubDate>Wed, 23 Feb 2011 19:51:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.usn-it.de/?p=463#comment-27389</guid>
		<description><![CDATA[What would that translate to in Hibernate? We don&#039;t do anything directly with the ojdbc code, and certainly not provider specific. I don&#039;t see anything about setNull.NUMBER in the oracle jdbc javadoc. the closest i could find was a setNull(int paramIndex, int sqlType) method on the Oracle prepared statement class. Are you saying we might need to override the behavior of Hibernate setting up the calls to jdbc to use specific Oracle types when setting our parameters to null in the prepared statements?]]></description>
		<content:encoded><![CDATA[<p>What would that translate to in Hibernate? We don&#8217;t do anything directly with the ojdbc code, and certainly not provider specific. I don&#8217;t see anything about setNull.NUMBER in the oracle jdbc javadoc. the closest i could find was a setNull(int paramIndex, int sqlType) method on the Oracle prepared statement class. Are you saying we might need to override the behavior of Hibernate setting up the calls to jdbc to use specific Oracle types when setting our parameters to null in the prepared statements?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Usn&#8217;s IT Blog &#187; Oracle 11g trace particular SQL_ID</title>
		<link>http://www.usn-it.de/index.php/2010/08/04/oracle112-mutex-s-too-many-child-cursors/comment-page-1/#comment-16704</link>
		<dc:creator>Usn&#8217;s IT Blog &#187; Oracle 11g trace particular SQL_ID</dc:creator>
		<pubDate>Thu, 05 Aug 2010 15:44:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.usn-it.de/?p=463#comment-16704</guid>
		<description><![CDATA[[...] a follow-up of my last post, I learned that creating traces is much simpler in 11g than I expected it to be. Dion Cho and Tanel [...]]]></description>
		<content:encoded><![CDATA[<p>[...] a follow-up of my last post, I learned that creating traces is much simpler in 11g than I expected it to be. Dion Cho and Tanel [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
