<?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: No change</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2009/11/12/no-change/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2009/11/12/no-change/</link>
	<description>Just another Oracle weblog</description>
	<lastBuildDate>Thu, 23 May 2013 12:47:17 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2009/11/12/no-change/#comment-34896</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Wed, 25 Nov 2009 13:22:51 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2494#comment-34896</guid>
		<description><![CDATA[Networks can so easily be forgotten. I&#039;ve been to several sites that had to be told why a report that ran in seconds in London was taking minutes in New York.  (After all, if people keep telling you that &lt;i&gt;&quot;SQL*Net message from client&quot;&lt;/i&gt; is an idle wait ... sometimes it&#039;s the most important thing going on.)]]></description>
		<content:encoded><![CDATA[<p>Networks can so easily be forgotten. I&#8217;ve been to several sites that had to be told why a report that ran in seconds in London was taking minutes in New York.  (After all, if people keep telling you that <i>&#8220;SQL*Net message from client&#8221;</i> is an idle wait &#8230; sometimes it&#8217;s the most important thing going on.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Fontana</title>
		<link>http://jonathanlewis.wordpress.com/2009/11/12/no-change/#comment-34892</link>
		<dc:creator><![CDATA[Michael Fontana]]></dc:creator>
		<pubDate>Mon, 23 Nov 2009 21:45:26 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2494#comment-34892</guid>
		<description><![CDATA[I had a recent situation where network latency was affected for a given server doing inserts of data collected from external devices elsewhere in the network.  Everything was the same, locally, and it took a time to track down the fact that network latency was causing the problem.  Another problem of this nature was network throughput being affected on this same system by a load - in this case from network backups.  

Things can get really interesting when queries are done across a network, and folks are not that forthcoming about looking into these problems first before complaining about database performance.]]></description>
		<content:encoded><![CDATA[<p>I had a recent situation where network latency was affected for a given server doing inserts of data collected from external devices elsewhere in the network.  Everything was the same, locally, and it took a time to track down the fact that network latency was causing the problem.  Another problem of this nature was network throughput being affected on this same system by a load &#8211; in this case from network backups.  </p>
<p>Things can get really interesting when queries are done across a network, and folks are not that forthcoming about looking into these problems first before complaining about database performance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: PdV</title>
		<link>http://jonathanlewis.wordpress.com/2009/11/12/no-change/#comment-34876</link>
		<dc:creator><![CDATA[PdV]]></dc:creator>
		<pubDate>Sat, 21 Nov 2009 13:55:28 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2494#comment-34876</guid>
		<description><![CDATA[Good Topic. This can turn into a reference-list of &quot;things to look into&quot;.

Did anyone mention the &quot;front-end&quot; yet ?
Is it possible that the calling-process (java, sqlplus, dotnet, whatever) may simply take its time peeling off the data record by record whereby network-latency and front-end-sluggishness kick in ?]]></description>
		<content:encoded><![CDATA[<p>Good Topic. This can turn into a reference-list of &#8220;things to look into&#8221;.</p>
<p>Did anyone mention the &#8220;front-end&#8221; yet ?<br />
Is it possible that the calling-process (java, sqlplus, dotnet, whatever) may simply take its time peeling off the data record by record whereby network-latency and front-end-sluggishness kick in ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2009/11/12/no-change/#comment-34863</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Thu, 19 Nov 2009 18:15:57 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2494#comment-34863</guid>
		<description><![CDATA[Wayne,

There&#039;s one particularly interesting point in your list that may not be commonly known:
&lt;ul&gt;
&lt;i&gt;&quot;The physical location of the data you need is changing, (data block, index block, undo segment, control file. disk read or memory read.)&quot;&lt;/i&gt;
&lt;/ul&gt;

If you&#039;re running on WAFL (write anywhere file layout) which, I believe, is the technology used by ZFS and Netapp and possibly a couple of other platforms then when you update an Oracle block it won&#039;t be written back to the same location on the disk. 

In unlucky circumstances this could introduce a surprising difference to the performance of the same query visiting the same basic data set if that data was &quot;slowly changing&quot;.]]></description>
		<content:encoded><![CDATA[<p>Wayne,</p>
<p>There&#8217;s one particularly interesting point in your list that may not be commonly known:</p>
<ul>
<i>&#8220;The physical location of the data you need is changing, (data block, index block, undo segment, control file. disk read or memory read.)&#8221;</i>
</ul>
<p>If you&#8217;re running on WAFL (write anywhere file layout) which, I believe, is the technology used by ZFS and Netapp and possibly a couple of other platforms then when you update an Oracle block it won&#8217;t be written back to the same location on the disk. </p>
<p>In unlucky circumstances this could introduce a surprising difference to the performance of the same query visiting the same basic data set if that data was &#8220;slowly changing&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mdavis</title>
		<link>http://jonathanlewis.wordpress.com/2009/11/12/no-change/#comment-34852</link>
		<dc:creator><![CDATA[mdavis]]></dc:creator>
		<pubDate>Mon, 16 Nov 2009 05:58:50 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2494#comment-34852</guid>
		<description><![CDATA[I&#039;m surprised nobody has suggested this one yet:

* Oracle bug]]></description>
		<content:encoded><![CDATA[<p>I&#8217;m surprised nobody has suggested this one yet:</p>
<p>* Oracle bug</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wayne Lang</title>
		<link>http://jonathanlewis.wordpress.com/2009/11/12/no-change/#comment-34849</link>
		<dc:creator><![CDATA[Wayne Lang]]></dc:creator>
		<pubDate>Sun, 15 Nov 2009 17:20:56 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2494#comment-34849</guid>
		<description><![CDATA[No change is a relative term. In this case, the question you asked is not changed (The query is not changed) and how the way oracle to find the answer is not changed. (The execution plan is not changed.) Everything else is changing. The demand for resource is changing because your session is complete with others for CPU, memory, IO, network, latches and locks. The data need for the answer is changing with the DML from other sessions. The physical location of the data you need is changing, (data block, index block, undo segment, control file. disk read or memory read.) Even if your session is the only one in database, background processes are still running. Maybe your server is shared. Most likely your SAN is shared. Even if you have a dedicated system and network just to run this query, your server backup is running, Memory management is going (including memory paging) CPU performance is not the same because of Multiple CPUs on system each with millions and millions transistors, The power supply voltage is up or down, the data center air temperature is not a constant, the nearby microwave is leak radiation... Well you got the picture.]]></description>
		<content:encoded><![CDATA[<p>No change is a relative term. In this case, the question you asked is not changed (The query is not changed) and how the way oracle to find the answer is not changed. (The execution plan is not changed.) Everything else is changing. The demand for resource is changing because your session is complete with others for CPU, memory, IO, network, latches and locks. The data need for the answer is changing with the DML from other sessions. The physical location of the data you need is changing, (data block, index block, undo segment, control file. disk read or memory read.) Even if your session is the only one in database, background processes are still running. Maybe your server is shared. Most likely your SAN is shared. Even if you have a dedicated system and network just to run this query, your server backup is running, Memory management is going (including memory paging) CPU performance is not the same because of Multiple CPUs on system each with millions and millions transistors, The power supply voltage is up or down, the data center air temperature is not a constant, the nearby microwave is leak radiation&#8230; Well you got the picture.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans Forbrich</title>
		<link>http://jonathanlewis.wordpress.com/2009/11/12/no-change/#comment-34848</link>
		<dc:creator><![CDATA[Hans Forbrich]]></dc:creator>
		<pubDate>Sun, 15 Nov 2009 16:29:44 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2494#comment-34848</guid>
		<description><![CDATA[My vote is for &#039;obscure interactions&#039;.  

User defined functions (typically in the SELECT list expressions or in the WHERE clause) introduce a whole separate level of interaction.  If they happen to involve queries of their own and are run for each row, the issues previously mentioned may be magnified.

VPD, query rewrite, other &#039;policy&#039; or &#039;trigger&#039; interactions may have a hidden impact that again exacerbated the standard issues.  

(And, with RAC, one question becomes &#039;are you on the node that has the data&#039;?)]]></description>
		<content:encoded><![CDATA[<p>My vote is for &#8216;obscure interactions&#8217;.  </p>
<p>User defined functions (typically in the SELECT list expressions or in the WHERE clause) introduce a whole separate level of interaction.  If they happen to involve queries of their own and are run for each row, the issues previously mentioned may be magnified.</p>
<p>VPD, query rewrite, other &#8216;policy&#8217; or &#8216;trigger&#8217; interactions may have a hidden impact that again exacerbated the standard issues.  </p>
<p>(And, with RAC, one question becomes &#8216;are you on the node that has the data&#8217;?)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mwidlake</title>
		<link>http://jonathanlewis.wordpress.com/2009/11/12/no-change/#comment-34847</link>
		<dc:creator><![CDATA[mwidlake]]></dc:creator>
		<pubDate>Sun, 15 Nov 2009 12:17:06 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2494#comment-34847</guid>
		<description><![CDATA[(late to the party, as always)
1) RAC - swapping from being allocated to the node hosting and processing a large percentage of the data your query uses to another (or the otheer processing code swapping to a new node).
  or - your RAC nodes are not equal in power (bad situation to have but it happens)
2) Some other major non-oracle user of resouce is swapping on and off your server/your network/
your storage. (You mention this right at the start Jonathan, but I think it&#039;s worth repeating as the other resource user may be nothing to do with your database or even Oracle and it so easy to miss that).]]></description>
		<content:encoded><![CDATA[<p>(late to the party, as always)<br />
1) RAC &#8211; swapping from being allocated to the node hosting and processing a large percentage of the data your query uses to another (or the otheer processing code swapping to a new node).<br />
  or &#8211; your RAC nodes are not equal in power (bad situation to have but it happens)<br />
2) Some other major non-oracle user of resouce is swapping on and off your server/your network/<br />
your storage. (You mention this right at the start Jonathan, but I think it&#8217;s worth repeating as the other resource user may be nothing to do with your database or even Oracle and it so easy to miss that).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2009/11/12/no-change/#comment-34846</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Sat, 14 Nov 2009 20:48:43 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2494#comment-34846</guid>
		<description><![CDATA[Mohamed,

It sounds like the best thing you can do to investigate is to adopt the strategy I used for the case which showed that a large part of the variation was due to caching effects, and recent (or concurrent) activity, viz: wrap the query in a script that checks &lt;em&gt;&lt;strong&gt;v$mystat&lt;/strong&gt;&lt;/em&gt; and &lt;em&gt;&lt;strong&gt;v$session_event &lt;/strong&gt;&lt;/em&gt;for the work done and time lost.  In your case you might also want to include a call to &lt;em&gt;&quot;select * from table(dbms_xplan.display_cursor);&quot;&lt;/em&gt; immediately after you run the query so that you can capture the actual plan used in the execution, and a query against &lt;a href=&quot;http://www.jlcomp.demon.co.uk/pqcosts.html&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;&lt;strong&gt;v$pq_tqstat &lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;to check what went on between the parallel query slaves.]]></description>
		<content:encoded><![CDATA[<p>Mohamed,</p>
<p>It sounds like the best thing you can do to investigate is to adopt the strategy I used for the case which showed that a large part of the variation was due to caching effects, and recent (or concurrent) activity, viz: wrap the query in a script that checks <em><strong>v$mystat</strong></em> and <em><strong>v$session_event </strong></em>for the work done and time lost.  In your case you might also want to include a call to <em>&#8220;select * from table(dbms_xplan.display_cursor);&#8221;</em> immediately after you run the query so that you can capture the actual plan used in the execution, and a query against <a href="http://www.jlcomp.demon.co.uk/pqcosts.html" rel="nofollow"><em><strong>v$pq_tqstat </strong></em></a>to check what went on between the parallel query slaves.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2009/11/12/no-change/#comment-34845</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Sat, 14 Nov 2009 15:36:08 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=2494#comment-34845</guid>
		<description><![CDATA[Timur,

It&#039;s unfortunate that the documentation (and Metalink, and even some of the white papers) often have little errors of this type in them. In many cases it comes from talking about the basic cases, and overlooking the more subtle cases.

There are several cases where object != segment, but to many people they are synonymous and it&#039;s easy to forget things like clusters, partitioned tables, IOTs and so on.

Technically the linked list is based on the data_object_id - following which your comment is a natural consequence.]]></description>
		<content:encoded><![CDATA[<p>Timur,</p>
<p>It&#8217;s unfortunate that the documentation (and Metalink, and even some of the white papers) often have little errors of this type in them. In many cases it comes from talking about the basic cases, and overlooking the more subtle cases.</p>
<p>There are several cases where object != segment, but to many people they are synonymous and it&#8217;s easy to forget things like clusters, partitioned tables, IOTs and so on.</p>
<p>Technically the linked list is based on the data_object_id &#8211; following which your comment is a natural consequence.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
