<?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: Christmas Explain Plan Patterns</title>
	<atom:link href="http://kerryosborne.oracle-guy.com/2011/12/christmas-explain-plan-patterns/feed/" rel="self" type="application/rss+xml" />
	<link>http://kerryosborne.oracle-guy.com/2011/12/christmas-explain-plan-patterns/</link>
	<description>Just another Oracle blog</description>
	<lastBuildDate>Fri, 24 May 2013 02:26:20 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<item>
		<title>By: Fei</title>
		<link>http://kerryosborne.oracle-guy.com/2011/12/christmas-explain-plan-patterns/#comment-76951</link>
		<dc:creator>Fei</dc:creator>
		<pubDate>Wed, 14 Dec 2011 03:47:48 +0000</pubDate>
		<guid isPermaLink="false">http://kerryosborne.oracle-guy.com/?p=3790#comment-76951</guid>
		<description><![CDATA[Hi Kerry,

Thanks very much for the reply.

I thought the obj# of &#039;enq: TX - index contention&#039; is the object id of the index. Like this I got in my trace file.

WAIT #9: nam=&#039;enq: TX - index contention&#039; ela= 423 name&#124;mode=1415053316 usn&lt;&lt;16 &#124; slot=13041696 sequence=97164 obj#=243941 tim=1323553225899572

When it shows -1, it is difficult to find the exact index has this enqueue. 

Thanks,
Fei]]></description>
		<content:encoded><![CDATA[<p>Hi Kerry,</p>
<p>Thanks very much for the reply.</p>
<p>I thought the obj# of &#8216;enq: TX &#8211; index contention&#8217; is the object id of the index. Like this I got in my trace file.</p>
<p>WAIT #9: nam=&#8217;enq: TX &#8211; index contention&#8217; ela= 423 name|mode=1415053316 usn&lt;&lt;16 | slot=13041696 sequence=97164 obj#=243941 tim=1323553225899572</p>
<p>When it shows -1, it is difficult to find the exact index has this enqueue. </p>
<p>Thanks,<br />
Fei</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: osborne</title>
		<link>http://kerryosborne.oracle-guy.com/2011/12/christmas-explain-plan-patterns/#comment-76751</link>
		<dc:creator>osborne</dc:creator>
		<pubDate>Tue, 13 Dec 2011 02:12:09 +0000</pubDate>
		<guid isPermaLink="false">http://kerryosborne.oracle-guy.com/?p=3790#comment-76751</guid>
		<description><![CDATA[Hi Fei,

  My experience with obj# in wait events is that the developers were not very consistent about cleaning up after themselves. It is pretty common to see events that are not related to individual objects that have an obj# (presumably because the developers didn&#039;t clear the field), -1 is generally used when an obj# does not apply and the developers have taken the time to set it. But it could also be a case where the value -1 is still hanging around and was not set properly. It is also possible that it is just part a string variable that didn&#039;t get cleared properly. For example the log file sync event, which clearly has no relation to a specific object, looks like this in a recent trace file I generated in 11.2.0.2:

&lt;pre&gt;
WAIT #47177491275624: nam=&#039;log file sync&#039; ela= 661 buffer#=24356 sync scn=816350767 p3=0 obj#=-1 tim=1323740791181536
&lt;/pre&gt;

Of course &quot;log file sync&quot; is not even supposed to have an obj# parameter.

&lt;pre&gt;

SYS@dbm1&gt; @valid_events
Enter value for event_name: log file sync

EVENT                                                            CLASS           P1                   P2                   P3
---------------------------------------------------------------- --------------- -------------------- -------------------- --------------------
log file sync                                                    Commit          buffer#              sync scn
&#124;
&lt;/pre&gt;

By the way, it looks like the &quot;enq: TX - index contention&quot; event is not supposed to have the obj# parameter either. 

&lt;pre&gt;
SYS@dbm1&gt; @valid_events
Enter value for event_name: %index content%

EVENT                                                            CLASS           P1                   P2                   P3
---------------------------------------------------------------- --------------- -------------------- -------------------- --------------------
enq: TX - index contention                                       Concurrency     name&#124;mode            usn&lt;&lt;16 &#124; slot       sequence
&#124;
&lt;/pre&gt;

So I can only assume that this is just a bug and not really related to the event at all.

Kerry]]></description>
		<content:encoded><![CDATA[<p>Hi Fei,</p>
<p>  My experience with obj# in wait events is that the developers were not very consistent about cleaning up after themselves. It is pretty common to see events that are not related to individual objects that have an obj# (presumably because the developers didn&#8217;t clear the field), -1 is generally used when an obj# does not apply and the developers have taken the time to set it. But it could also be a case where the value -1 is still hanging around and was not set properly. It is also possible that it is just part a string variable that didn&#8217;t get cleared properly. For example the log file sync event, which clearly has no relation to a specific object, looks like this in a recent trace file I generated in 11.2.0.2:</p>
<pre>
WAIT #47177491275624: nam='log file sync' ela= 661 buffer#=24356 sync scn=816350767 p3=0 obj#=-1 tim=1323740791181536
</pre>
<p>Of course &#8220;log file sync&#8221; is not even supposed to have an obj# parameter.</p>
<pre>

SYS@dbm1> @valid_events
Enter value for event_name: log file sync

EVENT                                                            CLASS           P1                   P2                   P3
---------------------------------------------------------------- --------------- -------------------- -------------------- --------------------
log file sync                                                    Commit          buffer#              sync scn
|
</pre>
<p>By the way, it looks like the &#8220;enq: TX &#8211; index contention&#8221; event is not supposed to have the obj# parameter either. </p>
<pre>
SYS@dbm1> @valid_events
Enter value for event_name: %index content%

EVENT                                                            CLASS           P1                   P2                   P3
---------------------------------------------------------------- --------------- -------------------- -------------------- --------------------
enq: TX - index contention                                       Concurrency     name|mode            usn< &lt;16 | slot       sequence
|
</pre>
<p>So I can only assume that this is just a bug and not really related to the event at all.</p>
<p>Kerry</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fei</title>
		<link>http://kerryosborne.oracle-guy.com/2011/12/christmas-explain-plan-patterns/#comment-76729</link>
		<dc:creator>Fei</dc:creator>
		<pubDate>Tue, 13 Dec 2011 00:07:11 +0000</pubDate>
		<guid isPermaLink="false">http://kerryosborne.oracle-guy.com/?p=3790#comment-76729</guid>
		<description><![CDATA[I know it&#039;s not the right place to ask this question. but Just want to try the luck.

Basically I want to know what does obj#=-1 mean. From what I can search online, it means the operation is upon no object in particular. But for my case, the wait is on index split, and suppose the obj# is the object_id of the specific index. 

*** 2011-12-07 21:26:44.313
WAIT #13: nam=&#039;enq: TX - index contention&#039; ela= 33006199 name&#124;mode=1415053316 usn&lt;&lt;16 &#124; slot=14876705 sequence=14555 obj#=-1 tim=1323322004313235
WAIT #13: nam=&#039;buffer busy waits&#039; ela= 114 file#=19 block#=54725847 class#=1 obj#=259012 tim=1323322004313424

I hope I can get some feedback. And happy holidays.

Thanks,]]></description>
		<content:encoded><![CDATA[<p>I know it&#8217;s not the right place to ask this question. but Just want to try the luck.</p>
<p>Basically I want to know what does obj#=-1 mean. From what I can search online, it means the operation is upon no object in particular. But for my case, the wait is on index split, and suppose the obj# is the object_id of the specific index. </p>
<p>*** 2011-12-07 21:26:44.313<br />
WAIT #13: nam=&#8217;enq: TX &#8211; index contention&#8217; ela= 33006199 name|mode=1415053316 usn&lt;&lt;16 | slot=14876705 sequence=14555 obj#=-1 tim=1323322004313235<br />
WAIT #13: nam=&#039;buffer busy waits&#039; ela= 114 file#=19 block#=54725847 class#=1 obj#=259012 tim=1323322004313424</p>
<p>I hope I can get some feedback. And happy holidays.</p>
<p>Thanks,</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: osborne</title>
		<link>http://kerryosborne.oracle-guy.com/2011/12/christmas-explain-plan-patterns/#comment-76671</link>
		<dc:creator>osborne</dc:creator>
		<pubDate>Mon, 12 Dec 2011 15:47:52 +0000</pubDate>
		<guid isPermaLink="false">http://kerryosborne.oracle-guy.com/?p=3790#comment-76671</guid>
		<description><![CDATA[Well it&#039;s a pretty simple query on a very complex view. Too ugly to clean up and present without offending anyone. The part that generated this portion of the plan (which was several hundred lines long by the way) was a bunch of items in the select list of one of the many sub-queries that looked like this:

&lt;pre&gt;
select 
(select myfunction(x) from dual) x,
(select myfunction(y) from dual) y,
(select myfunction(z) from dual) z,
from some_table
...
&lt;/pre&gt;

of course these values were joined elsewhere which resulted in nested loops which resulted in the indented 

&lt;pre&gt;
FAST DUAL
 FAST DUAL
  FAST DUAL
...
&lt;/pre&gt;

output from XPLAN.]]></description>
		<content:encoded><![CDATA[<p>Well it&#8217;s a pretty simple query on a very complex view. Too ugly to clean up and present without offending anyone. The part that generated this portion of the plan (which was several hundred lines long by the way) was a bunch of items in the select list of one of the many sub-queries that looked like this:</p>
<pre>
select 
(select myfunction(x) from dual) x,
(select myfunction(y) from dual) y,
(select myfunction(z) from dual) z,
from some_table
...
</pre>
<p>of course these values were joined elsewhere which resulted in nested loops which resulted in the indented </p>
<pre>
FAST DUAL
 FAST DUAL
  FAST DUAL
...
</pre>
<p>output from XPLAN.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sid</title>
		<link>http://kerryosborne.oracle-guy.com/2011/12/christmas-explain-plan-patterns/#comment-76284</link>
		<dc:creator>sid</dc:creator>
		<pubDate>Sat, 10 Dec 2011 07:18:57 +0000</pubDate>
		<guid isPermaLink="false">http://kerryosborne.oracle-guy.com/?p=3790#comment-76284</guid>
		<description><![CDATA[hi Kerry,

i&#039;m just curious, what&#039;s the sql to generate the lovely plan? :-)]]></description>
		<content:encoded><![CDATA[<p>hi Kerry,</p>
<p>i&#8217;m just curious, what&#8217;s the sql to generate the lovely plan? :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Log Buffer #249, A Carnival of the Vanities for DBAs &#124; The Pythian Blog</title>
		<link>http://kerryosborne.oracle-guy.com/2011/12/christmas-explain-plan-patterns/#comment-76091</link>
		<dc:creator>Log Buffer #249, A Carnival of the Vanities for DBAs &#124; The Pythian Blog</dc:creator>
		<pubDate>Fri, 09 Dec 2011 06:01:28 +0000</pubDate>
		<guid isPermaLink="false">http://kerryosborne.oracle-guy.com/?p=3790#comment-76091</guid>
		<description><![CDATA[[...] Kerry Osborne shares the Christmas Explain Plan patterns in a lovely way. [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Kerry Osborne shares the Christmas Explain Plan patterns in a lovely way. [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
