<?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: Oracle I/O latency monitoring</title>
	<atom:link href="/2013/01/30/oracle-io-latency-monitoring/feed/" rel="self" type="application/rss+xml" />
	<link>http://dboptimizer.com/2013/01/30/oracle-io-latency-monitoring/</link>
	<description>database performance, SQL tuning and data visualizatoin</description>
	<lastBuildDate>Sat, 03 Mar 2018 05:02:37 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.6</generator>
	<item>
		<title>By: Latest data Industry news round up, Log Buffer #308</title>
		<link>http://dboptimizer.com/2013/01/30/oracle-io-latency-monitoring/#comment-15556</link>
		<dc:creator>Latest data Industry news round up, Log Buffer #308</dc:creator>
		<pubDate>Fri, 22 Feb 2013 15:19:00 +0000</pubDate>
		<guid isPermaLink="false">http://dboptimizer.com/?p=2416#comment-15556</guid>
		<description><![CDATA[[...] Kyle Hailey is monitoring Oracle I/O latency. [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Kyle Hailey is monitoring Oracle I/O latency. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Frits Hoogland</title>
		<link>http://dboptimizer.com/2013/01/30/oracle-io-latency-monitoring/#comment-14280</link>
		<dc:creator>Frits Hoogland</dc:creator>
		<pubDate>Wed, 06 Feb 2013 22:15:40 +0000</pubDate>
		<guid isPermaLink="false">http://dboptimizer.com/?p=2416#comment-14280</guid>
		<description><![CDATA[Hi Kyle, nice script!

A few comments on direct path reads:
a) normal (not in memory) PQ uses direct path reads
b) starting from version 11, Oracle might choose a direct path read for a full segment scan based on criteria like size (segment shoud be &gt; 5* small table threshold) and number of blocks in the cache (&lt; 50%)

In Oracle 11.2.0.3, Oracle brings the number of IO&#039;s in flight kcblsinc() has decided (2 at start), and tries to reap that number 4 times after the io_submit phase. If one of these calls succeeds, there&#039;s no wait.
If that doesn&#039;t succeed, Oracle registers an &#039;direct path read&#039; wait, and just tries to reap 1 IO, then redoes the procedure by going through the io_submit phase, kcblsinc to determine if there&#039;s a need for a change in # IO&#039;s in flight, then tries to reap them all for four times, etc.

So &#039;direct path read&#039; means IO wait time from the perspective of the foreground process, and has nothing to do with IO latency time.

Oh, if synchronous IO is used for &#039;direct path read&#039; waits, the reading sequence is: pread64(), begin timing, end timing (so the timing is bogus; I&#039;ve verified this for 10.2.0.1, 11.2.0.1 and 11.2.0.3)]]></description>
		<content:encoded><![CDATA[<p>Hi Kyle, nice script!</p>
<p>A few comments on direct path reads:<br />
a) normal (not in memory) PQ uses direct path reads<br />
b) starting from version 11, Oracle might choose a direct path read for a full segment scan based on criteria like size (segment shoud be &gt; 5* small table threshold) and number of blocks in the cache (&lt; 50%)</p>
<p>In Oracle 11.2.0.3, Oracle brings the number of IO&#039;s in flight kcblsinc() has decided (2 at start), and tries to reap that number 4 times after the io_submit phase. If one of these calls succeeds, there&#039;s no wait.<br />
If that doesn&#039;t succeed, Oracle registers an &#039;direct path read&#039; wait, and just tries to reap 1 IO, then redoes the procedure by going through the io_submit phase, kcblsinc to determine if there&#039;s a need for a change in # IO&#039;s in flight, then tries to reap them all for four times, etc.</p>
<p>So &#039;direct path read&#039; means IO wait time from the perspective of the foreground process, and has nothing to do with IO latency time.</p>
<p>Oh, if synchronous IO is used for &#039;direct path read&#039; waits, the reading sequence is: pread64(), begin timing, end timing (so the timing is bogus; I&#039;ve verified this for 10.2.0.1, 11.2.0.1 and 11.2.0.3)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kyle Hailey</title>
		<link>http://dboptimizer.com/2013/01/30/oracle-io-latency-monitoring/#comment-13940</link>
		<dc:creator>Kyle Hailey</dc:creator>
		<pubDate>Fri, 01 Feb 2013 16:26:12 +0000</pubDate>
		<guid isPermaLink="false">http://dboptimizer.com/?p=2416#comment-13940</guid>
		<description><![CDATA[Awesome thanks. Updated oramon.sh on github with your changes. Wonder if something like this works on Windows. I never got the script working  on Windows.
- Kyle]]></description>
		<content:encoded><![CDATA[<p>Awesome thanks. Updated oramon.sh on github with your changes. Wonder if something like this works on Windows. I never got the script working  on Windows.<br />
- Kyle</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ronald Rood</title>
		<link>http://dboptimizer.com/2013/01/30/oracle-io-latency-monitoring/#comment-13930</link>
		<dc:creator>Ronald Rood</dc:creator>
		<pubDate>Fri, 01 Feb 2013 11:50:38 +0000</pubDate>
		<guid isPermaLink="false">http://dboptimizer.com/?p=2416#comment-13930</guid>
		<description><![CDATA[Hi Kyle,
nice script. Thanks a lot.
With minor modifications it also runs fine on MacosX:

    HP-UX)
            MKNOD=mknod
            ;;
    Darwin) MKNOD=&quot;&quot; ## add for MacosX
            ;;
    *)

    if [ -z &quot;${MKNOD}&quot; ]
    then
      cmd=&quot;mkfifo ${PIPE}&quot;
    else
      cmd=&quot;$MKNOD $PIPE p&quot;
    fi

That is about all. Could you include the changes?]]></description>
		<content:encoded><![CDATA[<p>Hi Kyle,<br />
nice script. Thanks a lot.<br />
With minor modifications it also runs fine on MacosX:</p>
<p>    HP-UX)<br />
            MKNOD=mknod<br />
            ;;<br />
    Darwin) MKNOD=&#8221;" ## add for MacosX<br />
            ;;<br />
    *)</p>
<p>    if [ -z "${MKNOD}" ]<br />
    then<br />
      cmd=&#8221;mkfifo ${PIPE}&#8221;<br />
    else<br />
      cmd=&#8221;$MKNOD $PIPE p&#8221;<br />
    fi</p>
<p>That is about all. Could you include the changes?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
