<?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: Using the Oracle Wait Interface to Troubleshoot I/O Issues</title>
	<atom:link href="http://www.pythian.com/news/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pythian.com/news/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues/</link>
	<description>News and views from Pythian DBAs</description>
	<lastBuildDate>Fri, 10 Feb 2012 13:01:25 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
	<item>
		<title>By: George Milliken</title>
		<link>http://www.pythian.com/news/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues/#comment-374740</link>
		<dc:creator>George Milliken</dc:creator>
		<pubDate>Mon, 14 Sep 2009 02:42:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues#comment-374740</guid>
		<description>Carrots improve night vision, a key in tuning Oracle.</description>
		<content:encoded><![CDATA[<p>Carrots improve night vision, a key in tuning Oracle.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shakir Sadikali</title>
		<link>http://www.pythian.com/news/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues/#comment-223147</link>
		<dc:creator>Shakir Sadikali</dc:creator>
		<pubDate>Mon, 23 Jun 2008 15:34:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues#comment-223147</guid>
		<description>Hi Amit, what is your aq_tm_processes parameter set to?</description>
		<content:encoded><![CDATA[<p>Hi Amit, what is your aq_tm_processes parameter set to?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Amit</title>
		<link>http://www.pythian.com/news/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues/#comment-223009</link>
		<dc:creator>Amit</dc:creator>
		<pubDate>Mon, 23 Jun 2008 09:01:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues#comment-223009</guid>
		<description>hi below is the o/p am geting showing prob with Stream AQ.
NAME,EVENT,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9
SQL*Net more data to client,SQL*Net more data to client,,,,1,1,1,,,,
Streams AQ: qmn slave idle wait,Streams AQ: qmn slave idle wa,1,1,1,1,1,1,1,1,1,1
Streams AQ: waiting for time management or cleanup tasks,Streams AQ: waiting for time ,1,1,1,1,1,1,1,1,1,1
Streams AQ: qmn coordinator idle wait,Streams AQ: qmn coordinator i,1,1,1,1,1,1,1,1,1,1
wait for unread message on broadcast channel,wait for unread message on br,4,4,4,4,4,4,4,4,4,4
Streams AQ: waiting for messages in the queue,Streams AQ: waiting for messa,8,8,8,8,8,8,8,8,8,8
How to deal with this?</description>
		<content:encoded><![CDATA[<p>hi below is the o/p am geting showing prob with Stream AQ.<br />
NAME,EVENT,T0,T1,T2,T3,T4,T5,T6,T7,T8,T9<br />
SQL*Net more data to client,SQL*Net more data to client,,,,1,1,1,,,,<br />
Streams AQ: qmn slave idle wait,Streams AQ: qmn slave idle wa,1,1,1,1,1,1,1,1,1,1<br />
Streams AQ: waiting for time management or cleanup tasks,Streams AQ: waiting for time ,1,1,1,1,1,1,1,1,1,1<br />
Streams AQ: qmn coordinator idle wait,Streams AQ: qmn coordinator i,1,1,1,1,1,1,1,1,1,1<br />
wait for unread message on broadcast channel,wait for unread message on br,4,4,4,4,4,4,4,4,4,4<br />
Streams AQ: waiting for messages in the queue,Streams AQ: waiting for messa,8,8,8,8,8,8,8,8,8,8<br />
How to deal with this?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lou Avrami</title>
		<link>http://www.pythian.com/news/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues/#comment-193954</link>
		<dc:creator>Lou Avrami</dc:creator>
		<pubDate>Wed, 07 May 2008 22:27:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues#comment-193954</guid>
		<description>Thanks for the very informative article.
It appears that the &#039;hot blocks&quot; link it no longer valid ... could you suggest another reference?
Thanks.</description>
		<content:encoded><![CDATA[<p>Thanks for the very informative article.<br />
It appears that the &#8216;hot blocks&#8221; link it no longer valid &#8230; could you suggest another reference?<br />
Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: How To Build Scalable Database Architectures</title>
		<link>http://www.pythian.com/news/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues/#comment-170331</link>
		<dc:creator>How To Build Scalable Database Architectures</dc:creator>
		<pubDate>Wed, 12 Mar 2008 20:03:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues#comment-170331</guid>
		<description>[...] found lately that munching on carrots with French dressing is more satisfying than broccoli. Maybe it&#8217;s the tang-and-crunch combination. In any case, I was crunching away yesterday [...]</description>
		<content:encoded><![CDATA[<p>[...] found lately that munching on carrots with French dressing is more satisfying than broccoli. Maybe it&#8217;s the tang-and-crunch combination. In any case, I was crunching away yesterday [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sadikali</title>
		<link>http://www.pythian.com/news/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues/#comment-73928</link>
		<dc:creator>sadikali</dc:creator>
		<pubDate>Thu, 12 Jul 2007 15:49:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues#comment-73928</guid>
		<description>Thanks, Dejan!  I&#039;m always glad to help!</description>
		<content:encoded><![CDATA[<p>Thanks, Dejan!  I&#8217;m always glad to help!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dejan Topalovic</title>
		<link>http://www.pythian.com/news/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues/#comment-73884</link>
		<dc:creator>Dejan Topalovic</dc:creator>
		<pubDate>Thu, 12 Jul 2007 13:54:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues#comment-73884</guid>
		<description>Thanks for the great article! 
This article helped me to find out, which objects are causing a lot of latch free waits.

Cheers

Dejan</description>
		<content:encoded><![CDATA[<p>Thanks for the great article!<br />
This article helped me to find out, which objects are causing a lot of latch free waits.</p>
<p>Cheers</p>
<p>Dejan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shakir Sadikali</title>
		<link>http://www.pythian.com/news/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues/#comment-5540</link>
		<dc:creator>Shakir Sadikali</dc:creator>
		<pubDate>Wed, 01 Nov 2006 15:16:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues#comment-5540</guid>
		<description>Hi Nigel, 

Paul illustrates the use of query perfectly.  It&#039;s important to get frequent observations, and querying v$session_wait manually a few times in a row really leaves a lot of room to miss quick transient events.  An alternative could be to look at v$latch_misses (for example) to see an overall picture, but it&#039;s not really granular in that you see cumulative stats and not a picture of what&#039;s happening &quot;now&quot;.  The other obvious limitation is that it&#039;s looking at just the latches and nothing else.  Likewise, you could query all the other dictionary tables individually to look for other waits.  Steve&#039;s query nicely points you in the right direction from the get-go.

Cheers,
Shakir</description>
		<content:encoded><![CDATA[<p>Hi Nigel, </p>
<p>Paul illustrates the use of query perfectly.  It&#8217;s important to get frequent observations, and querying v$session_wait manually a few times in a row really leaves a lot of room to miss quick transient events.  An alternative could be to look at v$latch_misses (for example) to see an overall picture, but it&#8217;s not really granular in that you see cumulative stats and not a picture of what&#8217;s happening &#8220;now&#8221;.  The other obvious limitation is that it&#8217;s looking at just the latches and nothing else.  Likewise, you could query all the other dictionary tables individually to look for other waits.  Steve&#8217;s query nicely points you in the right direction from the get-go.</p>
<p>Cheers,<br />
Shakir</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul Vallee</title>
		<link>http://www.pythian.com/news/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues/#comment-5531</link>
		<dc:creator>Paul Vallee</dc:creator>
		<pubDate>Wed, 01 Nov 2006 14:06:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues#comment-5531</guid>
		<description>Nigel - 
I found an example where latch free is the actual underlying problem, but a single observation would likely have masked that:

EVENT T0 T1 T2 T3 T4 T5 T6 T7 T8 T9
row cache lock 1
enqueue 1 1
SQL*Net more data from client 3 2 1 1 1
db file scattered read 1 1 1 1 1 1 1 2
SQL*Net more data to client 1 1 5 2 2 1 1
io done 2 1 1 2 1 2 2 2 2
file open 8 4 1 6 6 1 10 3 3
slave wait 5 5 5 5 5 5 5 5 5 5
buffer busy waits 19 4 5 12 6 10 14 5 4
SQL*Net message to client 38 13 29 37 39 24 36 32 11 10
log file sync 27 7 84 5 11 36 71 35 14 4
db file sequential read 59 37 31 44 46 29 51 37 25 30
latch free 249 250 355 340 178 284 126 220 13 17

See how, seen as together, the latch free stnads out as being clearly the problem here. In this case, I believe we were living with the old library cache hashing approach and we had a versioning problem. In any event, imagine if you only ran one observation and ended up with the one with 13... you might easily conclude this is a disk IO issue, what with the log file sync and db file seq read trumping your latch free.

Cheers
Paul</description>
		<content:encoded><![CDATA[<p>Nigel &#8211;<br />
I found an example where latch free is the actual underlying problem, but a single observation would likely have masked that:</p>
<p>EVENT T0 T1 T2 T3 T4 T5 T6 T7 T8 T9<br />
row cache lock 1<br />
enqueue 1 1<br />
SQL*Net more data from client 3 2 1 1 1<br />
db file scattered read 1 1 1 1 1 1 1 2<br />
SQL*Net more data to client 1 1 5 2 2 1 1<br />
io done 2 1 1 2 1 2 2 2 2<br />
file open 8 4 1 6 6 1 10 3 3<br />
slave wait 5 5 5 5 5 5 5 5 5 5<br />
buffer busy waits 19 4 5 12 6 10 14 5 4<br />
SQL*Net message to client 38 13 29 37 39 24 36 32 11 10<br />
log file sync 27 7 84 5 11 36 71 35 14 4<br />
db file sequential read 59 37 31 44 46 29 51 37 25 30<br />
latch free 249 250 355 340 178 284 126 220 13 17</p>
<p>See how, seen as together, the latch free stnads out as being clearly the problem here. In this case, I believe we were living with the old library cache hashing approach and we had a versioning problem. In any event, imagine if you only ran one observation and ended up with the one with 13&#8230; you might easily conclude this is a disk IO issue, what with the log file sync and db file seq read trumping your latch free.</p>
<p>Cheers<br />
Paul</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul Vallee</title>
		<link>http://www.pythian.com/news/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues/#comment-5529</link>
		<dc:creator>Paul Vallee</dc:creator>
		<pubDate>Wed, 01 Nov 2006 13:59:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues#comment-5529</guid>
		<description>Nigel - sometimes the real underlying issues are transient and as a result might only be caught on one or two of the observations. Latch free is the typical culprit in those circumstances. 

I dug up an old observation where the underlying problem is not latch free, however the latch free events exhibits the behaviour I&#039;m talking about:

EVENT	T0	T1	T2	T3	T4	T5	T6	T7	T8	T9
log file sync										1
SQL*Net more data from client		1								
SQL*Net break/reset to client						1				
db file parallel write	1	1	1	1	1	1	1	1	1	1
enqueue	1	1	1	1	1	1	2	2	3	1
SQL*Net message to client	1	2	2		1	2	1	1	1	4
db file scattered read	4	4	3	3	3	4	4	4	4	3
db file sequential read	21	21	24	23	23	23	22	19	17	21
latch free		1		5	23	41	46	57	66	6
buffer busy waits	180	180	181	181	181	181	181	181	181	181
file open	196	200	199	199	194	193	192	191	190	194

See how for some observations, it doesn&#039;t appear at all? Meanwhile, for another observation only microseconds later, a full 66 sessions are simultaneously waiting on a latch? That&#039;s what doing 10 observations allows you to catch when doing only one you might miss it and come to the wrong conclusion.

Cheers

Paul</description>
		<content:encoded><![CDATA[<p>Nigel &#8211; sometimes the real underlying issues are transient and as a result might only be caught on one or two of the observations. Latch free is the typical culprit in those circumstances. </p>
<p>I dug up an old observation where the underlying problem is not latch free, however the latch free events exhibits the behaviour I&#8217;m talking about:</p>
<p>EVENT	T0	T1	T2	T3	T4	T5	T6	T7	T8	T9<br />
log file sync										1<br />
SQL*Net more data from client		1<br />
SQL*Net break/reset to client						1<br />
db file parallel write	1	1	1	1	1	1	1	1	1	1<br />
enqueue	1	1	1	1	1	1	2	2	3	1<br />
SQL*Net message to client	1	2	2		1	2	1	1	1	4<br />
db file scattered read	4	4	3	3	3	4	4	4	4	3<br />
db file sequential read	21	21	24	23	23	23	22	19	17	21<br />
latch free		1		5	23	41	46	57	66	6<br />
buffer busy waits	180	180	181	181	181	181	181	181	181	181<br />
file open	196	200	199	199	194	193	192	191	190	194</p>
<p>See how for some observations, it doesn&#8217;t appear at all? Meanwhile, for another observation only microseconds later, a full 66 sessions are simultaneously waiting on a latch? That&#8217;s what doing 10 observations allows you to catch when doing only one you might miss it and come to the wrong conclusion.</p>
<p>Cheers</p>
<p>Paul</p>
]]></content:encoded>
	</item>
</channel>
</rss>

