<?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: A gotcha with parallel index builds, parallel degree and query plans</title>
	<atom:link href="http://blog.tanelpoder.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tanelpoder.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/</link>
	<description>Oracle troubleshooting, internals and performance tuning</description>
	<lastBuildDate>Wed, 10 Mar 2010 08:52:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Index rebuilds in parallel change the parallel DEGREE &#171; DBA n00b</title>
		<link>http://blog.tanelpoder.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/comment-page-1/#comment-3979</link>
		<dc:creator>Index rebuilds in parallel change the parallel DEGREE &#171; DBA n00b</dc:creator>
		<pubDate>Thu, 04 Mar 2010 20:11:59 +0000</pubDate>
		<guid isPermaLink="false">http://tanelpoder.wordpress.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/#comment-3979</guid>
		<description>[...] 4, 2010 by tylerv    As many of the comments to this handy article say, we got stung by this one today.  Definitely check out the article.  After a large data [...]</description>
		<content:encoded><![CDATA[<p>[...] 4, 2010 by tylerv    As many of the comments to this handy article say, we got stung by this one today.  Definitely check out the article.  After a large data [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Parallel Reasoning &#171; Charles Hooper&#39;s Oracle Notes</title>
		<link>http://blog.tanelpoder.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/comment-page-1/#comment-3868</link>
		<dc:creator>Parallel Reasoning &#171; Charles Hooper&#39;s Oracle Notes</dc:creator>
		<pubDate>Wed, 17 Feb 2010 06:04:17 +0000</pubDate>
		<guid isPermaLink="false">http://tanelpoder.wordpress.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/#comment-3868</guid>
		<description>[...] A Gotcha with Parallel Index Builds, Parallel Degree and Query Plans I haven’t enabled parallelism for my table! How can Oracle go parallel without my consent?  Parallel index (re)build will persistently set the index parallel degree in data dictionary to the value used during build! [...]</description>
		<content:encoded><![CDATA[<p>[...] A Gotcha with Parallel Index Builds, Parallel Degree and Query Plans I haven’t enabled parallelism for my table! How can Oracle go parallel without my consent?  Parallel index (re)build will persistently set the index parallel degree in data dictionary to the value used during build! [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tanel Poder</title>
		<link>http://blog.tanelpoder.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/comment-page-1/#comment-1459</link>
		<dc:creator>Tanel Poder</dc:creator>
		<pubDate>Mon, 27 Apr 2009 19:23:26 +0000</pubDate>
		<guid isPermaLink="false">http://tanelpoder.wordpress.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/#comment-1459</guid>
		<description>Did you gather optimizer stats on the table and index using dbms_stats? which command exactly did you use?</description>
		<content:encoded><![CDATA[<p>Did you gather optimizer stats on the table and index using dbms_stats? which command exactly did you use?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kwanyoung oh</title>
		<link>http://blog.tanelpoder.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/comment-page-1/#comment-1457</link>
		<dc:creator>kwanyoung oh</dc:creator>
		<pubDate>Mon, 27 Apr 2009 17:37:46 +0000</pubDate>
		<guid isPermaLink="false">http://tanelpoder.wordpress.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/#comment-1457</guid>
		<description>Hi,

I ran the scripts up there.
But I found one strange thing in the execution plan.

How come we have a lot different value in the Estimated rows and actual rows?


SQL&gt; set linesize 132
SQL&gt; select /*+ gather_plan_statistics */ sum(object_id) from t1 where object_id &gt; 60000;

SUM(OBJECT_ID)
--------------
      65869754

SQL&gt; @x

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------
SQL_ID  6tk45guj3gkcg, child number 0
-------------------------------------
select /*+ gather_plan_statistics */ sum(object_id) from t1 where object_id &gt; 60000

Plan hash value: 2596547647

------------------------------------------------------------------------------------------------
&#124; Id  &#124; Operation                 &#124; Name     &#124; Starts &#124; E-Rows &#124; A-Rows &#124;   A-Time   &#124; Buffers &#124;
------------------------------------------------------------------------------------------------
&#124;   1 &#124;  SORT AGGREGATE           &#124;          &#124;      1 &#124;      1 &#124;      1 &#124;00:00:00.01 &#124;       3 &#124;
&#124;   2 &#124;   PX COORDINATOR          &#124;          &#124;      1 &#124;        &#124;      4 &#124;00:00:00.01 &#124;       3 &#124;

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------
&#124;   3 &#124;    PX SEND QC (RANDOM)    &#124; :TQ10000 &#124;      0 &#124;      1 &#124;      0 &#124;00:00:00.01 &#124;       0 &#124;
&#124;   4 &#124;     SORT AGGREGATE        &#124;          &#124;      0 &#124;      1 &#124;      0 &#124;00:00:00.01 &#124;       0 &#124;
&#124;   5 &#124;      PX BLOCK ITERATOR    &#124;          &#124;      0 &#124;  19660 &#124;      0 &#124;00:00:00.01 &#124;       0 &#124;
&#124;*  6 &#124;       INDEX FAST FULL SCAN&#124; I1       &#124;      0 &#124;  19660 &#124;      0 &#124;00:00:00.01 &#124;       0 &#124;
------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   6 - access(:Z&gt;=:Z AND :Z60000)

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------


23 rows selected.</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>I ran the scripts up there.<br />
But I found one strange thing in the execution plan.</p>
<p>How come we have a lot different value in the Estimated rows and actual rows?</p>
<p>SQL&gt; set linesize 132<br />
SQL&gt; select /*+ gather_plan_statistics */ sum(object_id) from t1 where object_id &gt; 60000;</p>
<p>SUM(OBJECT_ID)<br />
&#8212;&#8212;&#8212;&#8212;&#8211;<br />
      65869754</p>
<p>SQL&gt; @x</p>
<p>PLAN_TABLE_OUTPUT<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
SQL_ID  6tk45guj3gkcg, child number 0<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
select /*+ gather_plan_statistics */ sum(object_id) from t1 where object_id &gt; 60000</p>
<p>Plan hash value: 2596547647</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
| Id  | Operation                 | Name     | Starts | E-Rows | A-Rows |   A-Time   | Buffers |<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
|   1 |  SORT AGGREGATE           |          |      1 |      1 |      1 |00:00:00.01 |       3 |<br />
|   2 |   PX COORDINATOR          |          |      1 |        |      4 |00:00:00.01 |       3 |</p>
<p>PLAN_TABLE_OUTPUT<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
|   3 |    PX SEND QC (RANDOM)    | :TQ10000 |      0 |      1 |      0 |00:00:00.01 |       0 |<br />
|   4 |     SORT AGGREGATE        |          |      0 |      1 |      0 |00:00:00.01 |       0 |<br />
|   5 |      PX BLOCK ITERATOR    |          |      0 |  19660 |      0 |00:00:00.01 |       0 |<br />
|*  6 |       INDEX FAST FULL SCAN| I1       |      0 |  19660 |      0 |00:00:00.01 |       0 |<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Predicate Information (identified by operation id):<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>   6 &#8211; access(:Z&gt;=:Z AND :Z60000)</p>
<p>PLAN_TABLE_OUTPUT<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>23 rows selected.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Avi</title>
		<link>http://blog.tanelpoder.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/comment-page-1/#comment-79</link>
		<dc:creator>Avi</dc:creator>
		<pubDate>Tue, 16 Dec 2008 09:03:13 +0000</pubDate>
		<guid isPermaLink="false">http://tanelpoder.wordpress.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/#comment-79</guid>
		<description>Hi,
How value for DEFAULT is being calculated, can you please tell me?</description>
		<content:encoded><![CDATA[<p>Hi,<br />
How value for DEFAULT is being calculated, can you please tell me?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul Leland</title>
		<link>http://blog.tanelpoder.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/comment-page-1/#comment-78</link>
		<dc:creator>Paul Leland</dc:creator>
		<pubDate>Mon, 25 Aug 2008 18:50:50 +0000</pubDate>
		<guid isPermaLink="false">http://tanelpoder.wordpress.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/#comment-78</guid>
		<description>We seem to be hit by the same problem. Suddenly everything is ending with ORA-04031:Unable To allocate shared memory (“large pool”,”Unknown object”,”Large Pool”,”PX msg Pool”).</description>
		<content:encoded><![CDATA[<p>We seem to be hit by the same problem. Suddenly everything is ending with ORA-04031:Unable To allocate shared memory (“large pool”,”Unknown object”,”Large Pool”,”PX msg Pool”).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul Leland</title>
		<link>http://blog.tanelpoder.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/comment-page-1/#comment-77</link>
		<dc:creator>Paul Leland</dc:creator>
		<pubDate>Mon, 25 Aug 2008 18:50:02 +0000</pubDate>
		<guid isPermaLink="false">http://tanelpoder.wordpress.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/#comment-77</guid>
		<description>We seem to be hit by the same problem.  Suddenly everything is ending with &quot;Unable To allocate shared memory (“large pool”,”Unknown object”,”Large Pool”,”PX msg Pool”).</description>
		<content:encoded><![CDATA[<p>We seem to be hit by the same problem.  Suddenly everything is ending with &#8220;Unable To allocate shared memory (“large pool”,”Unknown object”,”Large Pool”,”PX msg Pool”).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: paulk</title>
		<link>http://blog.tanelpoder.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/comment-page-1/#comment-76</link>
		<dc:creator>paulk</dc:creator>
		<pubDate>Thu, 23 Aug 2007 16:37:27 +0000</pubDate>
		<guid isPermaLink="false">http://tanelpoder.wordpress.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/#comment-76</guid>
		<description>We had some related problems last night, your post was invaluable.

From a message I sent to about 75 coworkers last night:

&quot;Allegedly some types of DDL when done in parallel will change the degree of the object. ( google oracle poder parallel.  Poder is very credible, pretty much my
rule of thumb is to read anything that he writes. )&quot;

I know, I shouldn&#039;t give away my trade secrets...</description>
		<content:encoded><![CDATA[<p>We had some related problems last night, your post was invaluable.</p>
<p>From a message I sent to about 75 coworkers last night:</p>
<p>&#8220;Allegedly some types of DDL when done in parallel will change the degree of the object. ( google oracle poder parallel.  Poder is very credible, pretty much my<br />
rule of thumb is to read anything that he writes. )&#8221;</p>
<p>I know, I shouldn&#8217;t give away my trade secrets&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: prodlife</title>
		<link>http://blog.tanelpoder.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/comment-page-1/#comment-75</link>
		<dc:creator>prodlife</dc:creator>
		<pubDate>Sat, 23 Jun 2007 13:56:24 +0000</pubDate>
		<guid isPermaLink="false">http://tanelpoder.wordpress.com/2007/06/23/a-gotcha-with-parallel-index-builds-parallel-degree-and-query-plans/#comment-75</guid>
		<description>Oh, I&#039;ve been bitten so hard by this issue.

We had a table that was really not very well designed and several times a month the number of objects changed from 3 to 30,000,000. So every once in a while we rebuilt indexes. One day we decided to save time and rebuild in parallel. We forgot the little note in the admin guide that said that rebuilding in parallel will change the degree of the index. A day later we knew this, and we also knew that having queries run in parallel can cause very severe performance issues.

Thanks for this article. It has good information, great examples and it also reassuring to know that I&#039;m not the only DBA to make this mistake.</description>
		<content:encoded><![CDATA[<p>Oh, I&#8217;ve been bitten so hard by this issue.</p>
<p>We had a table that was really not very well designed and several times a month the number of objects changed from 3 to 30,000,000. So every once in a while we rebuilt indexes. One day we decided to save time and rebuild in parallel. We forgot the little note in the admin guide that said that rebuilding in parallel will change the degree of the index. A day later we knew this, and we also knew that having queries run in parallel can cause very severe performance issues.</p>
<p>Thanks for this article. It has good information, great examples and it also reassuring to know that I&#8217;m not the only DBA to make this mistake.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
