<?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: Failure to Collect Fixed Object Statistics Leads to ORA-01013 or ORA-07445</title>
	<atom:link href="http://hoopercharles.wordpress.com/2009/12/09/failure-to-collect-fixed-object-statistics-leads-to-ora-01013-or-ora-07445/feed/" rel="self" type="application/rss+xml" />
	<link>http://hoopercharles.wordpress.com/2009/12/09/failure-to-collect-fixed-object-statistics-leads-to-ora-01013-or-ora-07445/</link>
	<description>Miscellaneous Random Oracle Topics: Stop, Think, ... Understand</description>
	<lastBuildDate>Thu, 13 Jun 2013 22:46:43 +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/2009/12/09/failure-to-collect-fixed-object-statistics-leads-to-ora-01013-or-ora-07445/#comment-3197</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Tue, 10 May 2011 12:55:51 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=239#comment-3197</guid>
		<description><![CDATA[I believe that the P1 and P2 values (p1 (address) is the address of the latch, p2 (number) is the latch number) were retained with identical meaning when the &quot;latch free&quot; wait event was broken into multiple wait events in Oracle Database 10g.  The p1 and p2 values of the &quot;latch free&quot; wait event were used to identify specifically which type of latch is causing delays.  From the Oracle Database 9.2 Performance Tuning Guide, a SQL statement demonstrating the use of p2:
http://download.oracle.com/docs/cd/B10500_01/server.920/a96533/instance_tune.htm#12946
&lt;blockquote&gt;&lt;code&gt;SELECT n.name, SUM(w.p3) Sleeps
  FROM V$SESSION_WAIT w, V$LATCHNAME n
 WHERE w.event = &#039;latch free&#039;
   AND w.p2 = n.latch#
 GROUP BY n.name;&lt;/code&gt;&lt;/blockquote&gt;

With the consideration of the above, the only meaningful piece of information provided, other than the specific latch name, is the number of sleeps while waiting for the latch to become available (p3 (tries) is the number of times the process has slept waiting for the latch).

There are a number of causes for shared pool latch contention and library cache latch contention.  A couple of resources:
http://jonathanlewis.wordpress.com/2007/01/21/shared-sql/
http://jonathanlewis.wordpress.com/2008/12/23/library-cache/
http://jonathanlewis.wordpress.com/2007/01/05/bind-variables/

Also see discussion by Mark Bobak and Jonathan Lewis:
http://forums.oracle.com/forums/thread.jspa?messageID=9432629&amp;tstart=0

----
I am sure that you are aware, but I thought that it would good to mention for anyone else reading this article, that access to V$ACTIVE_SESSION_HISTORY and/or access to ASH and/or access to AWR and/or access to ADDM requires an Enterprise Edition license plus a Diagnostic Pack license.]]></description>
		<content:encoded><![CDATA[<p>I believe that the P1 and P2 values (p1 (address) is the address of the latch, p2 (number) is the latch number) were retained with identical meaning when the &#8220;latch free&#8221; wait event was broken into multiple wait events in Oracle Database 10g.  The p1 and p2 values of the &#8220;latch free&#8221; wait event were used to identify specifically which type of latch is causing delays.  From the Oracle Database 9.2 Performance Tuning Guide, a SQL statement demonstrating the use of p2:<br />
<a href="http://download.oracle.com/docs/cd/B10500_01/server.920/a96533/instance_tune.htm#12946" rel="nofollow">http://download.oracle.com/docs/cd/B10500_01/server.920/a96533/instance_tune.htm#12946</a></p>
<blockquote><p><code>SELECT n.name, SUM(w.p3) Sleeps<br />
  FROM V$SESSION_WAIT w, V$LATCHNAME n<br />
 WHERE w.event = 'latch free'<br />
   AND w.p2 = n.latch#<br />
 GROUP BY n.name;</code></p></blockquote>
<p>With the consideration of the above, the only meaningful piece of information provided, other than the specific latch name, is the number of sleeps while waiting for the latch to become available (p3 (tries) is the number of times the process has slept waiting for the latch).</p>
<p>There are a number of causes for shared pool latch contention and library cache latch contention.  A couple of resources:<br />
<a href="http://jonathanlewis.wordpress.com/2007/01/21/shared-sql/" rel="nofollow">http://jonathanlewis.wordpress.com/2007/01/21/shared-sql/</a><br />
<a href="http://jonathanlewis.wordpress.com/2008/12/23/library-cache/" rel="nofollow">http://jonathanlewis.wordpress.com/2008/12/23/library-cache/</a><br />
<a href="http://jonathanlewis.wordpress.com/2007/01/05/bind-variables/" rel="nofollow">http://jonathanlewis.wordpress.com/2007/01/05/bind-variables/</a></p>
<p>Also see discussion by Mark Bobak and Jonathan Lewis:<br />
<a href="http://forums.oracle.com/forums/thread.jspa?messageID=9432629&#038;tstart=0" rel="nofollow">http://forums.oracle.com/forums/thread.jspa?messageID=9432629&#038;tstart=0</a></p>
<p>&#8212;-<br />
I am sure that you are aware, but I thought that it would good to mention for anyone else reading this article, that access to V$ACTIVE_SESSION_HISTORY and/or access to ASH and/or access to AWR and/or access to ADDM requires an Enterprise Edition license plus a Diagnostic Pack license.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alexander</title>
		<link>http://hoopercharles.wordpress.com/2009/12/09/failure-to-collect-fixed-object-statistics-leads-to-ora-01013-or-ora-07445/#comment-3196</link>
		<dc:creator><![CDATA[Alexander]]></dc:creator>
		<pubDate>Tue, 10 May 2011 11:50:19 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=239#comment-3196</guid>
		<description><![CDATA[Hi, Charles!
Thank you for answer!

OK, all those rules like decreasing parsing, using proper binds etc. it&#039;s common investigation.
We can dig in it any time on running database, shooting SQLs using literals, or searching through v$sql_shared_cursors to find SQLs with non-shareable binds (due to changes in session&#039;s nls settings etc)...
But the question, I&#039;ve tried to understand is Why ASH reports shows us &quot;latch: library cache&quot; with P1, P2, P3. What use of those ones? 
We are talking about events occurred in past time. How P1 could be useful for investigation? The only way I found to use it is query like:

select distinct sql_id from V$ACTIVE_SESSION_HISTORY
where sample_time between
to_timestamp(.....)  and  to_timestamp(.....) and 
event = &#039;latch: shared pool&#039; and 
p1 = &amp;P1 and 
sql_id is not null;

But, again, what all those queries (we&#039;ve found with above query) waiting for? Are they waiting just for allocating memory piece by P1 address? Why for this address? Short of shared memory?...

Best regards.]]></description>
		<content:encoded><![CDATA[<p>Hi, Charles!<br />
Thank you for answer!</p>
<p>OK, all those rules like decreasing parsing, using proper binds etc. it&#8217;s common investigation.<br />
We can dig in it any time on running database, shooting SQLs using literals, or searching through v$sql_shared_cursors to find SQLs with non-shareable binds (due to changes in session&#8217;s nls settings etc)&#8230;<br />
But the question, I&#8217;ve tried to understand is Why ASH reports shows us &#8220;latch: library cache&#8221; with P1, P2, P3. What use of those ones?<br />
We are talking about events occurred in past time. How P1 could be useful for investigation? The only way I found to use it is query like:</p>
<p>select distinct sql_id from V$ACTIVE_SESSION_HISTORY<br />
where sample_time between<br />
to_timestamp(&#8230;..)  and  to_timestamp(&#8230;..) and<br />
event = &#8216;latch: shared pool&#8217; and<br />
p1 = &amp;P1 and<br />
sql_id is not null;</p>
<p>But, again, what all those queries (we&#8217;ve found with above query) waiting for? Are they waiting just for allocating memory piece by P1 address? Why for this address? Short of shared memory?&#8230;</p>
<p>Best regards.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2009/12/09/failure-to-collect-fixed-object-statistics-leads-to-ora-01013-or-ora-07445/#comment-3180</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Fri, 06 May 2011 11:15:12 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=239#comment-3180</guid>
		<description><![CDATA[I will state up front that I do not have the final answer - other people are welcome to offer their advice.

You might try a quick SQL statement:
&lt;pre&gt;
SELECT
  ADDR,
  LATCH#,
  NAME
FROM
  V$LATCH
WHERE
  NAME = &#039;library cache&#039;;
&lt;/pre&gt;
My output looks like this:
&lt;pre&gt;
ADDR                 LATCH# NAME
---------------- ---------- -------------
00000000047A5FF0        214 library cache
&lt;/pre&gt;
I believe that you will find that if you convert the number 1398554576 found in the wait event to a hex number, it will be the same number as is what is displayed in the ADDR column of the above SQL statement.  So, that probably did not help much.  The wait time on that latch seems to be a little long at 0.008566 seconds - is it possible that the CPU utilization was atypically high on the server?

You might take a look at the following presentation that was created by Kyle Hailey - there are notes attached to some of the slides: http://www.perfvision.com/papers/10_libc.ppt

My notes on library cache and shared pool latches follow.  The notes are mostly paraphrases from the Oracle documentation, for instance from the following page:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/instance_tune.htm#sthref787
p1 (address) is the address of the latch, p2 (number) is the latch number, p3 (tries) is the number of times the process has slept waiting for the latch
A main cause of shared pool or library cache latch contention is parsing.  For shared pool and library cache latches, possible causes include not using bind variables, insufficient size of application cursor cache, cursors closed explicitly after each execution, frequent log on/off, shared pool too small.

Examine the resource usage for related resources. For example, if the library cache latch is heavily contended for, then examine the hard and soft parse rates.
Examine the SQL statements for the sessions experiencing latch contention to see if there is any commonality.

For Shared pool,library cache
** Lack of statement reuse, Statements not using bind variables, Insufficient size of application cursor cache,
** Cursors closed explicitly after each execution, Frequent logon / logoffs,
** Underlying object structure being modified (for example truncate), Shared pool too small
* Look for:
**  Sessions (in V$SESSTAT) with high:
**   parse time CPU
**   parse time elapsed
**   Ratio of parse count (hard) / Execute Count
**   Ratio of parse count (total) / Execute Count
*  Cursors (in V$SQLAREA/V$SQLSTATS) with:
**   High ratio of PARSE_CALLS / EXECUTIONS
**   EXECUTIONS = 1 differing only in literals in the WHERE clause (that is, no bind variables used)
**   High RELOADS
**   High INVALIDATIONS
**   Large (&gt; 1mb) SHARABLE_MEM

You might be able to break the numbers down a little more by examining V$LATCH_CHILDREN:
&lt;pre&gt;
SQL&gt; DESC V$LATCH_CHILDREN
 Name
 -------------------------

 ADDR
 LATCH#
 CHILD#
 LEVEL#
 NAME
 HASH
 GETS
 MISSES
 SLEEPS
 IMMEDIATE_GETS
 IMMEDIATE_MISSES
 WAITERS_WOKEN
 WAITS_HOLDING_LATCH
 SPIN_GETS
 SLEEP1
 SLEEP2
 SLEEP3
 SLEEP4
 SLEEP5
 SLEEP6
 SLEEP7
 SLEEP8
 SLEEP9
 SLEEP10
 SLEEP11
 WAIT_TIME
&lt;/pre&gt;]]></description>
		<content:encoded><![CDATA[<p>I will state up front that I do not have the final answer &#8211; other people are welcome to offer their advice.</p>
<p>You might try a quick SQL statement:</p>
<pre>
SELECT
  ADDR,
  LATCH#,
  NAME
FROM
  V$LATCH
WHERE
  NAME = 'library cache';
</pre>
<p>My output looks like this:</p>
<pre>
ADDR                 LATCH# NAME
---------------- ---------- -------------
00000000047A5FF0        214 library cache
</pre>
<p>I believe that you will find that if you convert the number 1398554576 found in the wait event to a hex number, it will be the same number as is what is displayed in the ADDR column of the above SQL statement.  So, that probably did not help much.  The wait time on that latch seems to be a little long at 0.008566 seconds &#8211; is it possible that the CPU utilization was atypically high on the server?</p>
<p>You might take a look at the following presentation that was created by Kyle Hailey &#8211; there are notes attached to some of the slides: <a href="http://www.perfvision.com/papers/10_libc.ppt" rel="nofollow">http://www.perfvision.com/papers/10_libc.ppt</a></p>
<p>My notes on library cache and shared pool latches follow.  The notes are mostly paraphrases from the Oracle documentation, for instance from the following page:<br />
<a href="http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/instance_tune.htm#sthref787" rel="nofollow">http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/instance_tune.htm#sthref787</a><br />
p1 (address) is the address of the latch, p2 (number) is the latch number, p3 (tries) is the number of times the process has slept waiting for the latch<br />
A main cause of shared pool or library cache latch contention is parsing.  For shared pool and library cache latches, possible causes include not using bind variables, insufficient size of application cursor cache, cursors closed explicitly after each execution, frequent log on/off, shared pool too small.</p>
<p>Examine the resource usage for related resources. For example, if the library cache latch is heavily contended for, then examine the hard and soft parse rates.<br />
Examine the SQL statements for the sessions experiencing latch contention to see if there is any commonality.</p>
<p>For Shared pool,library cache<br />
** Lack of statement reuse, Statements not using bind variables, Insufficient size of application cursor cache,<br />
** Cursors closed explicitly after each execution, Frequent logon / logoffs,<br />
** Underlying object structure being modified (for example truncate), Shared pool too small<br />
* Look for:<br />
**  Sessions (in V$SESSTAT) with high:<br />
**   parse time CPU<br />
**   parse time elapsed<br />
**   Ratio of parse count (hard) / Execute Count<br />
**   Ratio of parse count (total) / Execute Count<br />
*  Cursors (in V$SQLAREA/V$SQLSTATS) with:<br />
**   High ratio of PARSE_CALLS / EXECUTIONS<br />
**   EXECUTIONS = 1 differing only in literals in the WHERE clause (that is, no bind variables used)<br />
**   High RELOADS<br />
**   High INVALIDATIONS<br />
**   Large (&gt; 1mb) SHARABLE_MEM</p>
<p>You might be able to break the numbers down a little more by examining V$LATCH_CHILDREN:</p>
<pre>
SQL&gt; DESC V$LATCH_CHILDREN
 Name
 -------------------------

 ADDR
 LATCH#
 CHILD#
 LEVEL#
 NAME
 HASH
 GETS
 MISSES
 SLEEPS
 IMMEDIATE_GETS
 IMMEDIATE_MISSES
 WAITERS_WOKEN
 WAITS_HOLDING_LATCH
 SPIN_GETS
 SLEEP1
 SLEEP2
 SLEEP3
 SLEEP4
 SLEEP5
 SLEEP6
 SLEEP7
 SLEEP8
 SLEEP9
 SLEEP10
 SLEEP11
 WAIT_TIME
</pre>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alexander</title>
		<link>http://hoopercharles.wordpress.com/2009/12/09/failure-to-collect-fixed-object-statistics-leads-to-ora-01013-or-ora-07445/#comment-3179</link>
		<dc:creator><![CDATA[Alexander]]></dc:creator>
		<pubDate>Fri, 06 May 2011 06:20:37 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=239#comment-3179</guid>
		<description><![CDATA[Hi, Charles!
Thank you for reply!
Link, you gave me, was very usefull! 
Let me ask you a question that I&#039;d realy like to now. From time to time I see in my ASH reports &#039;&#039;latch: library cache&quot; and &quot;latch: shared pool&quot;. Is it possible to track cause of such events using P1 from ASH report?
I played with &quot;raw 10046&quot;, dump library cache, but can&#039;t find the way I can use P1 to find out &quot;library cache object&quot; waited for. Where I&#039;ve lost ?
From your example:
WAIT #3: nam=&#039;latch: library cache&#039; ela= 8566 address=1398554576 number=214 tries=1 obj#=-1 tim=5204643696
...so,
P1 = address = 1398554576
What is it use of that &quot;address&quot;? How can I found the root of problem?

Regards]]></description>
		<content:encoded><![CDATA[<p>Hi, Charles!<br />
Thank you for reply!<br />
Link, you gave me, was very usefull!<br />
Let me ask you a question that I&#8217;d realy like to now. From time to time I see in my ASH reports &#8221;latch: library cache&#8221; and &#8220;latch: shared pool&#8221;. Is it possible to track cause of such events using P1 from ASH report?<br />
I played with &#8220;raw 10046&#8243;, dump library cache, but can&#8217;t find the way I can use P1 to find out &#8220;library cache object&#8221; waited for. Where I&#8217;ve lost ?<br />
From your example:<br />
WAIT #3: nam=&#8217;latch: library cache&#8217; ela= 8566 address=1398554576 number=214 tries=1 obj#=-1 tim=5204643696<br />
&#8230;so,<br />
P1 = address = 1398554576<br />
What is it use of that &#8220;address&#8221;? How can I found the root of problem?</p>
<p>Regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2009/12/09/failure-to-collect-fixed-object-statistics-leads-to-ora-01013-or-ora-07445/#comment-3158</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Wed, 04 May 2011 12:01:49 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=239#comment-3158</guid>
		<description><![CDATA[Alexander,

It has been a couple of years, but it appears that I performed the following steps:
&lt;pre&gt;
SQL&gt; ALTER SESSION SET EVENTS &#039;10046 TRACE NAME CONTEXT FOREVER, LEVEL 8&#039;;
 
Session altered.
 
SQL&gt; select distinct owner from v$access
  2  /
 
SQL&gt; ALTER SESSION SET EVENTS &#039;10046 TRACE NAME CONTEXT OFF&#039;;
&lt;/pre&gt;

Then I looked inside the 10046 trace file and found my SQL statement:
&lt;pre&gt;
=====================
PARSING IN CURSOR #1 len=35 dep=0 uid=31 oct=3 lid=31 tim=3112364669 hv=3250939240 ad=&#039;8135a590&#039;
select distinct owner from v$access
END OF STMT
PARSE #1:c=15625,e=10795,p=0,cr=4,cu=0,mis=1,r=0,dep=0,og=1,tim=3112364664
EXEC #1:c=0,e=138,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=3112365290
WAIT #1: nam=&#039;SQL*Net message to client&#039; ela= 5 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3112365434
FETCH #1:c=1078125,e=1078741,p=0,cr=0,cu=0,mis=0,r=1,dep=0,og=1,tim=3113444285
WAIT #1: nam=&#039;SQL*Net message from client&#039; ela= 400 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113445654
WAIT #1: nam=&#039;SQL*Net message to client&#039; ela= 2 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113445934
FETCH #1:c=0,e=113,p=0,cr=0,cu=0,mis=0,r=15,dep=0,og=1,tim=3113446026
WAIT #1: nam=&#039;SQL*Net message from client&#039; ela= 1938 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113448064
WAIT #1: nam=&#039;SQL*Net message to client&#039; ela= 1 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113448214
FETCH #1:c=0,e=105,p=0,cr=0,cu=0,mis=0,r=15,dep=0,og=1,tim=3113448309
WAIT #1: nam=&#039;SQL*Net message from client&#039; ela= 2643 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113451047
WAIT #1: nam=&#039;SQL*Net message to client&#039; ela= 1 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113451191
FETCH #1:c=15625,e=132,p=0,cr=0,cu=0,mis=0,r=15,dep=0,og=1,tim=3113451316
WAIT #1: nam=&#039;SQL*Net message from client&#039; ela= 2987 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113454763
FETCH #1:c=0,e=26,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=3113454938
WAIT #1: nam=&#039;SQL*Net message to client&#039; ela= 2 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113455065
WAIT #1: nam=&#039;SQL*Net message from client&#039; ela= 1777 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113456919
STAT #1 id=1 cnt=46 pid=0 pos=1 obj=0 op=&#039;SORT UNIQUE (cr=0 pr=0 pw=0 time=1078756 us)&#039;
STAT #1 id=2 cnt=42462 pid=1 pos=1 obj=0 op=&#039;HASH JOIN  (cr=0 pr=0 pw=0 time=1142988 us)&#039;
STAT #1 id=3 cnt=335 pid=2 pos=1 obj=0 op=&#039;FIXED TABLE FULL X$KSUSE (cr=0 pr=0 pw=0 time=362 us)&#039;
STAT #1 id=4 cnt=42462 pid=2 pos=2 obj=0 op=&#039;NESTED LOOPS  (cr=0 pr=0 pw=0 time=1056455 us)&#039;
STAT #1 id=5 cnt=42462 pid=4 pos=1 obj=0 op=&#039;HASH JOIN  (cr=0 pr=0 pw=0 time=334562 us)&#039;
STAT #1 id=6 cnt=21082 pid=5 pos=1 obj=0 op=&#039;FIXED TABLE FULL X$KGLLK (cr=0 pr=0 pw=0 time=21506 us)&#039;
STAT #1 id=7 cnt=100382 pid=5 pos=2 obj=0 op=&#039;FIXED TABLE FULL X$KGLDP (cr=0 pr=0 pw=0 time=200900 us)&#039;
STAT #1 id=8 cnt=42462 pid=4 pos=2 obj=0 op=&#039;FIXED TABLE FIXED INDEX X$KGLOB (ind:1) (cr=0 pr=0 pw=0 time=637605 us)&#039;
WAIT #0: nam=&#039;SQL*Net message to client&#039; ela= 2 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113457700
*** 2011-05-04 07:52:59.140
WAIT #0: nam=&#039;SQL*Net message from client&#039; ela= 11023640 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3124481452
=====================
&lt;/pre&gt;

The first line shows: PARSING IN CURSOR #1 ... &lt;b&gt;hv=3250939240&lt;/b&gt; ad=&#039;8135a590&#039;.  The value that follows &lt;b&gt;hv=&lt;/b&gt; is the hash value for the SQL statement.  I just noticed that the blog article implies that the hash value is found on the WAIT lines, but that was not the intention of this comment (I worded this poorly) &quot;On the waits, P1 is 13985, P2 is 214, P3 is 0, Buf is 99, SQL Hash is 3250939240&quot;.

A multi-part series on 10046 trace files may be found here:
http://hoopercharles.wordpress.com/2009/12/01/10046-extended-sql-trace-interpretation/]]></description>
		<content:encoded><![CDATA[<p>Alexander,</p>
<p>It has been a couple of years, but it appears that I performed the following steps:</p>
<pre>
SQL&gt; ALTER SESSION SET EVENTS '10046 TRACE NAME CONTEXT FOREVER, LEVEL 8';
 
Session altered.
 
SQL&gt; select distinct owner from v$access
  2  /
 
SQL&gt; ALTER SESSION SET EVENTS '10046 TRACE NAME CONTEXT OFF';
</pre>
<p>Then I looked inside the 10046 trace file and found my SQL statement:</p>
<pre>
=====================
PARSING IN CURSOR #1 len=35 dep=0 uid=31 oct=3 lid=31 tim=3112364669 hv=3250939240 ad='8135a590'
select distinct owner from v$access
END OF STMT
PARSE #1:c=15625,e=10795,p=0,cr=4,cu=0,mis=1,r=0,dep=0,og=1,tim=3112364664
EXEC #1:c=0,e=138,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=3112365290
WAIT #1: nam='SQL*Net message to client' ela= 5 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3112365434
FETCH #1:c=1078125,e=1078741,p=0,cr=0,cu=0,mis=0,r=1,dep=0,og=1,tim=3113444285
WAIT #1: nam='SQL*Net message from client' ela= 400 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113445654
WAIT #1: nam='SQL*Net message to client' ela= 2 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113445934
FETCH #1:c=0,e=113,p=0,cr=0,cu=0,mis=0,r=15,dep=0,og=1,tim=3113446026
WAIT #1: nam='SQL*Net message from client' ela= 1938 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113448064
WAIT #1: nam='SQL*Net message to client' ela= 1 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113448214
FETCH #1:c=0,e=105,p=0,cr=0,cu=0,mis=0,r=15,dep=0,og=1,tim=3113448309
WAIT #1: nam='SQL*Net message from client' ela= 2643 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113451047
WAIT #1: nam='SQL*Net message to client' ela= 1 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113451191
FETCH #1:c=15625,e=132,p=0,cr=0,cu=0,mis=0,r=15,dep=0,og=1,tim=3113451316
WAIT #1: nam='SQL*Net message from client' ela= 2987 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113454763
FETCH #1:c=0,e=26,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=3113454938
WAIT #1: nam='SQL*Net message to client' ela= 2 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113455065
WAIT #1: nam='SQL*Net message from client' ela= 1777 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113456919
STAT #1 id=1 cnt=46 pid=0 pos=1 obj=0 op='SORT UNIQUE (cr=0 pr=0 pw=0 time=1078756 us)'
STAT #1 id=2 cnt=42462 pid=1 pos=1 obj=0 op='HASH JOIN  (cr=0 pr=0 pw=0 time=1142988 us)'
STAT #1 id=3 cnt=335 pid=2 pos=1 obj=0 op='FIXED TABLE FULL X$KSUSE (cr=0 pr=0 pw=0 time=362 us)'
STAT #1 id=4 cnt=42462 pid=2 pos=2 obj=0 op='NESTED LOOPS  (cr=0 pr=0 pw=0 time=1056455 us)'
STAT #1 id=5 cnt=42462 pid=4 pos=1 obj=0 op='HASH JOIN  (cr=0 pr=0 pw=0 time=334562 us)'
STAT #1 id=6 cnt=21082 pid=5 pos=1 obj=0 op='FIXED TABLE FULL X$KGLLK (cr=0 pr=0 pw=0 time=21506 us)'
STAT #1 id=7 cnt=100382 pid=5 pos=2 obj=0 op='FIXED TABLE FULL X$KGLDP (cr=0 pr=0 pw=0 time=200900 us)'
STAT #1 id=8 cnt=42462 pid=4 pos=2 obj=0 op='FIXED TABLE FIXED INDEX X$KGLOB (ind:1) (cr=0 pr=0 pw=0 time=637605 us)'
WAIT #0: nam='SQL*Net message to client' ela= 2 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3113457700
*** 2011-05-04 07:52:59.140
WAIT #0: nam='SQL*Net message from client' ela= 11023640 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=3124481452
=====================
</pre>
<p>The first line shows: PARSING IN CURSOR #1 &#8230; <b>hv=3250939240</b> ad=&#8217;8135a590&#8242;.  The value that follows <b>hv=</b> is the hash value for the SQL statement.  I just noticed that the blog article implies that the hash value is found on the WAIT lines, but that was not the intention of this comment (I worded this poorly) &#8220;On the waits, P1 is 13985, P2 is 214, P3 is 0, Buf is 99, SQL Hash is 3250939240&#8243;.</p>
<p>A multi-part series on 10046 trace files may be found here:<br />
<a href="http://hoopercharles.wordpress.com/2009/12/01/10046-extended-sql-trace-interpretation/" rel="nofollow">http://hoopercharles.wordpress.com/2009/12/01/10046-extended-sql-trace-interpretation/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alexander</title>
		<link>http://hoopercharles.wordpress.com/2009/12/09/failure-to-collect-fixed-object-statistics-leads-to-ora-01013-or-ora-07445/#comment-3157</link>
		<dc:creator><![CDATA[Alexander]]></dc:creator>
		<pubDate>Wed, 04 May 2011 11:23:00 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=239#comment-3157</guid>
		<description><![CDATA[Hi!

Could you explain please how you found hv=3250939240 ?
Thanks.]]></description>
		<content:encoded><![CDATA[<p>Hi!</p>
<p>Could you explain please how you found hv=3250939240 ?<br />
Thanks.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
