<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: The CURSOR_SHARING Parameter is a Silver Bullet &#8211; What is Wrong with this Quote?</title>
	<atom:link href="http://hoopercharles.wordpress.com/2011/07/03/the-cursor_sharing-parameter-is-a-silver-bullet-what-is-wrong-with-this-quote/feed/" rel="self" type="application/rss+xml" />
	<link>http://hoopercharles.wordpress.com/2011/07/03/the-cursor_sharing-parameter-is-a-silver-bullet-what-is-wrong-with-this-quote/</link>
	<description>Miscellaneous Random Oracle Topics: Stop, Think, ... Understand</description>
	<lastBuildDate>Mon, 13 May 2013 14:10:06 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2011/07/03/the-cursor_sharing-parameter-is-a-silver-bullet-what-is-wrong-with-this-quote/#comment-3625</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Thu, 07 Jul 2011 21:05:22 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=5111#comment-3625</guid>
		<description><![CDATA[Mohamed,

The link that you provided shows a perfect example of what could go wrong when changing the value of the CURSOR_SHARING parameter - thank you for attaching the link.  In short, saving a little time for the hard parse might lead to much longer execution times for the actual query processing.

When I first saw your example of substr(c1,2,4), I thought that it seemed like an odd example function for a function-based index.  I thought that NVL(C1, -1) might be more common in the event that we need to index NULL values by &quot;changing&quot; their value to an &quot;impossible&quot; value for the column.  Of course, it is possible to directly index NULL values in a b*tree index by creating a two column composite index with the second column as a constant (a number, not a letter), so maybe my example is not quite as common as I first thought.  This thought process gave me a bit of time to think a bit about the example that you posted.  In the United States the phone numbers are typically recorded as 1-999-999-9999 or (999) 999-9999 - the first 999 is the &quot;area code&quot;, and extracting this bit of information from the phone number could very well be a use case for the substr(c1,2,4) example that you provided (of course the 4 would become a 3 in my example use case, but that is a minor detail).]]></description>
		<content:encoded><![CDATA[<p>Mohamed,</p>
<p>The link that you provided shows a perfect example of what could go wrong when changing the value of the CURSOR_SHARING parameter &#8211; thank you for attaching the link.  In short, saving a little time for the hard parse might lead to much longer execution times for the actual query processing.</p>
<p>When I first saw your example of substr(c1,2,4), I thought that it seemed like an odd example function for a function-based index.  I thought that NVL(C1, -1) might be more common in the event that we need to index NULL values by &#8220;changing&#8221; their value to an &#8220;impossible&#8221; value for the column.  Of course, it is possible to directly index NULL values in a b*tree index by creating a two column composite index with the second column as a constant (a number, not a letter), so maybe my example is not quite as common as I first thought.  This thought process gave me a bit of time to think a bit about the example that you posted.  In the United States the phone numbers are typically recorded as 1-999-999-9999 or (999) 999-9999 &#8211; the first 999 is the &#8220;area code&#8221;, and extracting this bit of information from the phone number could very well be a use case for the substr(c1,2,4) example that you provided (of course the 4 would become a 3 in my example use case, but that is a minor detail).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Houri Mohamed</title>
		<link>http://hoopercharles.wordpress.com/2011/07/03/the-cursor_sharing-parameter-is-a-silver-bullet-what-is-wrong-with-this-quote/#comment-3623</link>
		<dc:creator><![CDATA[Houri Mohamed]]></dc:creator>
		<pubDate>Thu, 07 Jul 2011 14:54:19 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=5111#comment-3623</guid>
		<description><![CDATA[Last year Jonathan Lewis published a blog article about one of the side effects of setting cursor_sharing=force which is related to the use of function based indexes. Imagine that you&#039;ve defined a function based index to cover query having where clause like substr(c1,2,4) = ?

If you set the cursor_sharing to force then you will see that your query is not using anymore your function based index because of the transformation (that you can easily point out into the predicate part ! again the importance of the predicate part) substr(c1, :SYS_B_1,:SYS_B_2) done by the new cursor_sharing value making your query and your function based index not matching any more.

This is whithout mentioning the overhead of CPU du to those litteral to bind values transformation

http://jonathanlewis.wordpress.com/2010/05/03/cursor-sharing-3/

Best regards

Mohamed Houri]]></description>
		<content:encoded><![CDATA[<p>Last year Jonathan Lewis published a blog article about one of the side effects of setting cursor_sharing=force which is related to the use of function based indexes. Imagine that you&#8217;ve defined a function based index to cover query having where clause like substr(c1,2,4) = ?</p>
<p>If you set the cursor_sharing to force then you will see that your query is not using anymore your function based index because of the transformation (that you can easily point out into the predicate part ! again the importance of the predicate part) substr(c1, :SYS_B_1,:SYS_B_2) done by the new cursor_sharing value making your query and your function based index not matching any more.</p>
<p>This is whithout mentioning the overhead of CPU du to those litteral to bind values transformation</p>
<p><a href="http://jonathanlewis.wordpress.com/2010/05/03/cursor-sharing-3/" rel="nofollow">http://jonathanlewis.wordpress.com/2010/05/03/cursor-sharing-3/</a></p>
<p>Best regards</p>
<p>Mohamed Houri</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2011/07/03/the-cursor_sharing-parameter-is-a-silver-bullet-what-is-wrong-with-this-quote/#comment-3607</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Tue, 05 Jul 2011 17:39:40 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=5111#comment-3607</guid>
		<description><![CDATA[Guy,

After a bit more investigation, the above quote was apparently from a PDF file that you authored titled &quot;Oracle performance tuning: a systematic approach&quot;.  It appears that you have linked to that PDF file on a site that you maintain:
http://guyharrison.squarespace.com/blog/2007/8/17/systematic-oracle-performance-tuning.html

Amazon&#039;s book preview permits viewing some pages of your book.  A search for the phrase &quot;silver bullet&quot; in that preview only returned two results, neither of which were related to the CURSOR_SHARING parameter, and neither of which cast the phrase &quot;silver bullet&quot; as a 100% (or even 5%) achievable solution:
http://www.amazon.com/Oracle-Performance-Survival-Guide-Optimization/dp/0137011954#reader_0137011954

It is unfortunate that a Google search made it appear as though the quote was found in your book.]]></description>
		<content:encoded><![CDATA[<p>Guy,</p>
<p>After a bit more investigation, the above quote was apparently from a PDF file that you authored titled &#8220;Oracle performance tuning: a systematic approach&#8221;.  It appears that you have linked to that PDF file on a site that you maintain:<br />
<a href="http://guyharrison.squarespace.com/blog/2007/8/17/systematic-oracle-performance-tuning.html" rel="nofollow">http://guyharrison.squarespace.com/blog/2007/8/17/systematic-oracle-performance-tuning.html</a></p>
<p>Amazon&#8217;s book preview permits viewing some pages of your book.  A search for the phrase &#8220;silver bullet&#8221; in that preview only returned two results, neither of which were related to the CURSOR_SHARING parameter, and neither of which cast the phrase &#8220;silver bullet&#8221; as a 100% (or even 5%) achievable solution:
<div style="width: 402px; text-align: center; background: #fff; border: 1px solid #aaa; margin: 3px; padding: 2px;">
<p style="margin: 10px 10px;"><a href="http://www.amazon.com/Oracle-Performance-Survival-Guide-Optimization/dp/0137011954#reader_0137011954" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51XEayVHrvL.jpg" height="500" width="382" alt="Oracle Performance Survival Guide: A Systematic Approach to Database Optimization" style="padding:0;margin:0;border:none;" /></a></p>
<p style="font-size: 10px;"><a href="http://www.amazon.com/Oracle-Performance-Survival-Guide-Optimization/dp/0137011954#reader_0137011954" target="_blank">Oracle Performance Survival Guide: A Systematic Approach to Database Optimization</a></p>
<p style="font-size: 10px;">
<p style="margin: 10px 156px;"><a href="http://www.amazon.com/Oracle-Performance-Survival-Guide-Optimization/dp/0137011954#reader_0137011954" target="_blank"><img alt="Buy from Amazon" src="http://ecx.images-amazon.com/images/G/01/buttons/buy-from-tan.gif"" style="padding:0;margin:0;border:none;" /></a></p>
</p></div>
<p>It is unfortunate that a Google search made it appear as though the quote was found in your book.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2011/07/03/the-cursor_sharing-parameter-is-a-silver-bullet-what-is-wrong-with-this-quote/#comment-3606</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Tue, 05 Jul 2011 11:57:01 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=5111#comment-3606</guid>
		<description><![CDATA[Guy,

I performed a quick Google search for the phrase:
Oracle Performance &quot;Survival Guide&quot; &quot;silver bullet&quot; harrison

The second link that was returned to me appears to be a small portion of your book - I will not directly link to that article in the event that it is in fact a pirated copy of a portion of your book.  There probably is not enough context in the small amount of text that is provided on that page, but it does appear that your book states (apparently on pages 7 and 8):
&lt;blockquote&gt;
&quot;If parse activity appears to be excessive (as shown by the “parse time elapsed” category in our time model query) then you can try the “silver bullet” solutions offered by the CURSOR_SHARING and SESSION_CACHED_CURSORS parameters.&quot;
&lt;/blockquote&gt; 

If the above does not appear in your book, I apologize for the incorrect assumption that I made in this article.  If the above quote is in fact found in your book, you might consider working with your publisher to convince that domain found by the Google search to not illegally host your book&#039;s pages.]]></description>
		<content:encoded><![CDATA[<p>Guy,</p>
<p>I performed a quick Google search for the phrase:<br />
Oracle Performance &#8220;Survival Guide&#8221; &#8220;silver bullet&#8221; harrison</p>
<p>The second link that was returned to me appears to be a small portion of your book &#8211; I will not directly link to that article in the event that it is in fact a pirated copy of a portion of your book.  There probably is not enough context in the small amount of text that is provided on that page, but it does appear that your book states (apparently on pages 7 and 8):</p>
<blockquote><p>
&#8220;If parse activity appears to be excessive (as shown by the “parse time elapsed” category in our time model query) then you can try the “silver bullet” solutions offered by the CURSOR_SHARING and SESSION_CACHED_CURSORS parameters.&#8221;
</p></blockquote>
<p>If the above does not appear in your book, I apologize for the incorrect assumption that I made in this article.  If the above quote is in fact found in your book, you might consider working with your publisher to convince that domain found by the Google search to not illegally host your book&#8217;s pages.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2011/07/03/the-cursor_sharing-parameter-is-a-silver-bullet-what-is-wrong-with-this-quote/#comment-3601</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Tue, 05 Jul 2011 02:40:05 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=5111#comment-3601</guid>
		<description><![CDATA[Guy,

Thank you for stopping by and correcting my assumption about your book.  As mentioned in this article, I was surprised to see the phrase &quot;silver bullet&quot; on that domain (is it possible to remove that phrase?). 

I agree that your statement above is correct, but I also *hope* that you also included some words of warning about potential side-effects from using that parameter.  Otherwise, it might appear that you are offering a blanket (this might not translate right for all readers - a general rule that applies in all cases) suggestion that could severely impact the accuracy of results returned from the database and also the stability of the database instance - without giving the reader any advanced notice of what may be a possible outcome of the change.  Offering what should be sufficient clarification can be a difficult task, and I hope that you were able to help your readers find the *fine* print regarding that parameter.  

As a for instance, take the opening sentence of this article.   The words in that opening sentence were carefully selected to demonstrate a point - is &quot;yah-but&quot; missing a letter, or might it be missing a bit of character (and is the definition missing a bit of detail)?  I have not read your book, but in some of the books that I have read I frequently see suggestions such as: change this (possibly hidden) parameter, end of discussion.  OK, but by how much should it be changed?  Specifically, why am I changing the parameter?  Specifically, what side-effects might be encountered by making the change?  If I change this parameter to a value (SIMILAR for instance), how might that affect the memory used by other items in the SGA?  Does it matter if I am using AMM, ASMM, or manually specifying the memory for the various regions?]]></description>
		<content:encoded><![CDATA[<p>Guy,</p>
<p>Thank you for stopping by and correcting my assumption about your book.  As mentioned in this article, I was surprised to see the phrase &#8220;silver bullet&#8221; on that domain (is it possible to remove that phrase?). </p>
<p>I agree that your statement above is correct, but I also *hope* that you also included some words of warning about potential side-effects from using that parameter.  Otherwise, it might appear that you are offering a blanket (this might not translate right for all readers &#8211; a general rule that applies in all cases) suggestion that could severely impact the accuracy of results returned from the database and also the stability of the database instance &#8211; without giving the reader any advanced notice of what may be a possible outcome of the change.  Offering what should be sufficient clarification can be a difficult task, and I hope that you were able to help your readers find the *fine* print regarding that parameter.  </p>
<p>As a for instance, take the opening sentence of this article.   The words in that opening sentence were carefully selected to demonstrate a point &#8211; is &#8220;yah-but&#8221; missing a letter, or might it be missing a bit of character (and is the definition missing a bit of detail)?  I have not read your book, but in some of the books that I have read I frequently see suggestions such as: change this (possibly hidden) parameter, end of discussion.  OK, but by how much should it be changed?  Specifically, why am I changing the parameter?  Specifically, what side-effects might be encountered by making the change?  If I change this parameter to a value (SIMILAR for instance), how might that affect the memory used by other items in the SGA?  Does it matter if I am using AMM, ASMM, or manually specifying the memory for the various regions?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Guy Harrison</title>
		<link>http://hoopercharles.wordpress.com/2011/07/03/the-cursor_sharing-parameter-is-a-silver-bullet-what-is-wrong-with-this-quote/#comment-3600</link>
		<dc:creator><![CDATA[Guy Harrison]]></dc:creator>
		<pubDate>Tue, 05 Jul 2011 01:55:34 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=5111#comment-3600</guid>
		<description><![CDATA[Charles,

You say &quot;(I suspect that the same advice might also be found in that author’s recent book)&quot;, so I thought I&#039;d better clarify.  I don&#039;t use the phrase &quot;silver bullet&quot;, but I do say that:

* If you can’t change application code to exploit bind variables, you might be able to use the CURSOR_SHARING parameter to get a similar outcome.

I&#039;d stand by that as an accurate statement.]]></description>
		<content:encoded><![CDATA[<p>Charles,</p>
<p>You say &#8220;(I suspect that the same advice might also be found in that author’s recent book)&#8221;, so I thought I&#8217;d better clarify.  I don&#8217;t use the phrase &#8220;silver bullet&#8221;, but I do say that:</p>
<p>* If you can’t change application code to exploit bind variables, you might be able to use the CURSOR_SHARING parameter to get a similar outcome.</p>
<p>I&#8217;d stand by that as an accurate statement.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dom Brooks</title>
		<link>http://hoopercharles.wordpress.com/2011/07/03/the-cursor_sharing-parameter-is-a-silver-bullet-what-is-wrong-with-this-quote/#comment-3592</link>
		<dc:creator><![CDATA[Dom Brooks]]></dc:creator>
		<pubDate>Mon, 04 Jul 2011 08:23:11 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=5111#comment-3592</guid>
		<description><![CDATA[&gt; Now, what I am seeing more and more is actual wrong results being produced.
As mentioned, ditto. 
A massive, massive issue.
If you can&#039;t trust your database to return the correct data, what can you do?
Tell you what, 12.1 better be bloody good and very reliable - it should be given all these bugs listed as fixed in 12.1 - or it&#039;s the beginning of the end (or maybe that&#039;s already happened?)]]></description>
		<content:encoded><![CDATA[<p>&gt; Now, what I am seeing more and more is actual wrong results being produced.<br />
As mentioned, ditto.<br />
A massive, massive issue.<br />
If you can&#8217;t trust your database to return the correct data, what can you do?<br />
Tell you what, 12.1 better be bloody good and very reliable &#8211; it should be given all these bugs listed as fixed in 12.1 &#8211; or it&#8217;s the beginning of the end (or maybe that&#8217;s already happened?)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Noons</title>
		<link>http://hoopercharles.wordpress.com/2011/07/03/the-cursor_sharing-parameter-is-a-silver-bullet-what-is-wrong-with-this-quote/#comment-3589</link>
		<dc:creator><![CDATA[Noons]]></dc:creator>
		<pubDate>Mon, 04 Jul 2011 03:18:19 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=5111#comment-3589</guid>
		<description><![CDATA[Well, it&#039;s been well known for a long time that one uses &quot;new&quot; features in Oracle at the cost of stability.  
That used to translate to data or metadata corruption,

Now, what I am seeing more and more is actual wrong results being produced.  That is much more insidious as it requires plenty of application logic testing to detect, rather than the much simpler &quot;it&#039;s broke, let&#039;s find out why&quot; that corruptions cause.

I&#039;ve alerted to that situation many times online, since the 9i days.  That only earned me the &quot;dinossaur rant&quot; moniker from many other dbas, who would have done a lot better for themselves by listening instead of deriding.

Enjoy the results!  I love it when the chooks come home to roost!:-D]]></description>
		<content:encoded><![CDATA[<p>Well, it&#8217;s been well known for a long time that one uses &#8220;new&#8221; features in Oracle at the cost of stability.<br />
That used to translate to data or metadata corruption,</p>
<p>Now, what I am seeing more and more is actual wrong results being produced.  That is much more insidious as it requires plenty of application logic testing to detect, rather than the much simpler &#8220;it&#8217;s broke, let&#8217;s find out why&#8221; that corruptions cause.</p>
<p>I&#8217;ve alerted to that situation many times online, since the 9i days.  That only earned me the &#8220;dinossaur rant&#8221; moniker from many other dbas, who would have done a lot better for themselves by listening instead of deriding.</p>
<p>Enjoy the results!  I love it when the chooks come home to roost!:-D</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2011/07/03/the-cursor_sharing-parameter-is-a-silver-bullet-what-is-wrong-with-this-quote/#comment-3588</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Mon, 04 Jul 2011 01:13:45 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=5111#comment-3588</guid>
		<description><![CDATA[Gary,

Thanks for supplying that other related article.  If I read that section of the article correctly, the previous sentences suggested the value SIMILAR can cause problems, and the quoted sentence seems to be saying that if you *must* change the CURSOR_SHARING parameter value, FORCE is less problematic.  I need to re-read that article.

Silver bullet: shoot, think, pay (rather than pay for the bullet, think about what will be shot, and then shoot).]]></description>
		<content:encoded><![CDATA[<p>Gary,</p>
<p>Thanks for supplying that other related article.  If I read that section of the article correctly, the previous sentences suggested the value SIMILAR can cause problems, and the quoted sentence seems to be saying that if you *must* change the CURSOR_SHARING parameter value, FORCE is less problematic.  I need to re-read that article.</p>
<p>Silver bullet: shoot, think, pay (rather than pay for the bullet, think about what will be shot, and then shoot).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2011/07/03/the-cursor_sharing-parameter-is-a-silver-bullet-what-is-wrong-with-this-quote/#comment-3587</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Mon, 04 Jul 2011 01:06:52 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=5111#comment-3587</guid>
		<description><![CDATA[Dom,

Thanks for the contribution.  

I think that it is important for people to realize that just because something is in print does not necessarily make it true.  Take, for example, the Metalink (MOS) article that was referenced above.  That article states that the SIMILAR parameter value for the CURSOR_SHARING parameter is deprecated as of 11.1 (thus deprecated in 11.1 and 11.2) and will be removed in 12.1.  I wonder why the documentation for 11.2 indicates that the value SIMILAR is still a valid (assumed non-deprecated) value:
http://download.oracle.com/docs/cd/E14072_01/server.112/e10820/initparams041.htm

So, who is right, Oracle Corp. or Oracle Corp.?  Possibly a retroactive deprecation that caught the documentation team off guard?]]></description>
		<content:encoded><![CDATA[<p>Dom,</p>
<p>Thanks for the contribution.  </p>
<p>I think that it is important for people to realize that just because something is in print does not necessarily make it true.  Take, for example, the Metalink (MOS) article that was referenced above.  That article states that the SIMILAR parameter value for the CURSOR_SHARING parameter is deprecated as of 11.1 (thus deprecated in 11.1 and 11.2) and will be removed in 12.1.  I wonder why the documentation for 11.2 indicates that the value SIMILAR is still a valid (assumed non-deprecated) value:<br />
<a href="http://download.oracle.com/docs/cd/E14072_01/server.112/e10820/initparams041.htm" rel="nofollow">http://download.oracle.com/docs/cd/E14072_01/server.112/e10820/initparams041.htm</a></p>
<p>So, who is right, Oracle Corp. or Oracle Corp.?  Possibly a retroactive deprecation that caught the documentation team off guard?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
