<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tanel Poder&#039;s blog: IT &#38; Mobile for Geeks and Pros &#187; Performance</title>
	<atom:link href="http://blog.tanelpoder.com/tag/performance/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tanelpoder.com</link>
	<description>Oracle, Exadata, Performance, Troubleshooting - Mobile Life and Productivity.</description>
	<lastBuildDate>Thu, 02 Feb 2012 21:38:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Profiling trace files with preprocessor external tables in 11g and some parallel execution hacking</title>
		<link>http://blog.tanelpoder.com/2011/11/14/profiling-trace-files-with-preprocessor-external-tables-in-11g-and-some-parallel-execution-hacking/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=profiling-trace-files-with-preprocessor-external-tables-in-11g-and-some-parallel-execution-hacking</link>
		<comments>http://blog.tanelpoder.com/2011/11/14/profiling-trace-files-with-preprocessor-external-tables-in-11g-and-some-parallel-execution-hacking/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 21:33:00 +0000</pubDate>
		<dc:creator>Tanel Poder</dc:creator>
				<category><![CDATA[Cool stuff]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://blog.tanelpoder.com/2011/11/14/profiling-trace-files-with-preprocessor-external-tables-in-11g-and-some-parallel-execution-hacking/</guid>
		<description><![CDATA[If you work with SQL Trace files (and profile them) then you should check out the awesome novel use of the &#8220;external table preprocessor&#8221; feature explained by Adrian Billington here: http://www.oracle-developer.net/display.php?id=516 Ironically just a day after writing my &#8220;Evil things&#8221; article, I noticed a note in MOS about how to enable an event 10384 at [...]]]></description>
			<content:encoded><![CDATA[<p>If you work with SQL Trace files (and profile them) then you should check out the awesome novel use of the &#8220;external table preprocessor&#8221; feature explained by Adrian Billington here:</p>
<ul>
<li><a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5vcmFjbGUtZGV2ZWxvcGVyLm5ldC9kaXNwbGF5LnBocD9pZD01MTY=" target=\"_blank\">http://www.oracle-developer.net/display.php?id=516</a></li>
</ul>
<p>Ironically just a day after writing my &#8220;<a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cudGFuZWxwb2Rlci5jb20vMjAxMS8xMS8xMy9ldmlsLXRoaW5ncy1hcmUtaGFwcGVuaW5nLWluLW9yYWNsZS8=" target=\"_self\">Evil things</a>&#8221; article, I noticed a note in MOS about how to enable an event 10384 at level 16384 to get a parallel plan to be executed in serial:</p>
<ul>
<li>How to force that a Parallel Query runs in serial with the Parallel Execution Plan [ID <a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9zdXBwb3J0aHRtbC5vcmFjbGUuY29tL2VwL2ZhY2VzL3NlY3VyZS9rbS9Eb2N1bWVudERpc3BsYXkuanNweD9pZD0xMTE0NDA1LjE=" target=\"_blank\">1114405.1</a>]</li>
</ul>
<p>This way you can still see the A-rows and other feedback like buffer gets and PIOs by row source even if the plan is a parallel plan. The problem is that even with GATHER_PLAN_STATISTICS enabled (or the equivalent parameter(s)) the PX slaves don&#8217;t pass their <em>actual</em>&nbsp;time, rows and buffer gets/PIOs stats back to the QC to be displayed in V$SQL_PLAN_STATISTICS / DBMS_XPLAN output. With parallel slaves, all you&#8217;d see would be the QC-generated numbers and not the PX slave stuff.</p>
<p>So if you set that magic event (at your own risk) then even the parallel plans would be executed by the QC only (basically a parallel plan executed entirely ins serial) and you&#8217;ll still see all the A-rows and buffer gets/physical read numbers as with serial plans. But remember my yesterday&#8217;s article ;-)</p>
<p>Alternative options for getting such runtime stats for a parallel query would be:</p>
<ol>
<li>Use the Real-Time SQL Monitoring feature (only on 11g and with diagnostics+tuning pack licenses)</li>
<li>Enable SQL Trace for the QC, run your parallel query (you&#8217;ll have to wait until it finishes or cancel the query with CTRL+C) and consolidate the STAT# lines from all the PX slave sessions &#8211; each PX slave dumps the STAT# lines with row-source level stats like regular serial queries</li>
</ol>
<div><strong>Update:</strong> <a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Nvc2thbi53b3JkcHJlc3MuY29tLw==" target=\"_blank\">Coskan</a>&nbsp;commented over twitter that why not use ALLSTATS <strong>ALL</strong> in DBMS_XPLAN.DISPLAY_CURSOR instead of ALLSTATS LAST &#8211; and indeed, in this case you would see the A-rows, buffer gets and other stats of both QC <em>and</em>&nbsp;the PX slaves aggregated together. Although I had used ALLSTATS ALL to compare average execution stats to the LAST stats, I never thought of using it for aggregating the PX slave stats together with QC like that.</div>
<div>&nbsp;</div>
<div>Basically what happens (in 10g+) with PX is that the QC and all PX slaves all execute the same SQL_ID (but sometimes a different child version though, especially when you&#8217;re running cross-instance PX, in which case SQL Monitoring is a better option). And ALLSTATS ALL would aggregate the stats of all executions of the particular SQL_ID (and child number). So if you run something with 4 PX slaves with GATHER_PLAN_STATISTICS enabled, they all add their execution stats to the &#8220;ALL&#8221; columns. It&#8217;s just that the QC is always the last one to finish executing the query (that&#8217;s when the exec stats get updated in the V$SQL_PLAN_STATISTICS views), that&#8217;s why the ALLSTATS LAST always shows the limited QC stats and not the PX slave ones. But Allstats ALL solves that problem.</div>
<div>&nbsp;</div>
<div>However the catch is that ALLSTATS ALL would accumulate <em>all</em>&nbsp;executions of this query (including your previous runs of it), so if you want to see fresh stats of only your latest query execution, you should adjust the SQL_ID so that a new cursor would be created. And you can adjust the SQL_ID by simply adding a comment like /* test 2 */ somewhere into your query text&#8230;</div>
<div>Thanks Coskan! :)</div>
 <img src="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1534" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.tanelpoder.com/2011/11/14/profiling-trace-files-with-preprocessor-external-tables-in-11g-and-some-parallel-execution-hacking/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>What the heck is the SQL Execution ID &#8211; SQL_EXEC_ID?</title>
		<link>http://blog.tanelpoder.com/2011/10/24/what-the-heck-is-the-sql-execution-id-sql_exec_id/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=what-the-heck-is-the-sql-execution-id-sql_exec_id</link>
		<comments>http://blog.tanelpoder.com/2011/10/24/what-the-heck-is-the-sql-execution-id-sql_exec_id/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 20:55:29 +0000</pubDate>
		<dc:creator>Tanel Poder</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Internals]]></category>
		<category><![CDATA[Oracle 11g]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://blog.tanelpoder.com/2011/10/24/what-the-heck-is-the-sql-execution-id-sql_exec_id/</guid>
		<description><![CDATA[Ok, I think it&#8217;s time to write another blog entry. I&#8217;ve been traveling and dealing with jetlag from 10-hour time difference, then traveling some more, spoken at conferences, drank beer, had fun, then traveled some more, trained customers, hacked some Exadatas and now I&#8217;m back home. Anyway, do you know what is the SQL_EXEC_ID in [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, I think it&#8217;s time to write another blog entry. I&#8217;ve been traveling and dealing with jetlag from 10-hour time difference, then traveling some more, spoken at conferences, drank beer, had fun, then traveled some more, trained customers, hacked some Exadatas and now I&#8217;m back home.</p>
<p>Anyway, do you know what is the SQL_EXEC_ID in V$SESSION and ASH views?</p>
<p>Oh yeah, it&#8217;s the &#8220;SQL Execution ID&#8221; just like the <a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Rvd25sb2FkLm9yYWNsZS5jb20vZG9jcy9jZC9FMTQwNzJfMDEvc2VydmVyLjExMi9lMTA4MjAvZHludmlld3NfMzAxNi5odG0jcjI5YzEtdDE5" target=\"_blank\">documentation says</a> &#8230; all clear. Um &#8230; is it? I&#8217;d like to know more about it &#8211; what does it actually stand for?! Is it session level, instance level or a RAC-global counter? And why does it start from 16 million, not 1?</p>
<p>&nbsp;</p>
<pre>SQL&gt; SELECT sql_exec_id FROM v$session WHERE sid = USERENV('SID');

SQL_EXEC_ID
-----------
   16777216
</pre>
<p>&nbsp;</p>
<p>This number <strong>16777216</strong> looks strangely familiar &#8211; indeed, it&#8217;s <strong>2^24</strong>.</p>
<p>When I run the same query again (incrementing the SQL_EXEC_ID counter for the same SQL), I see the counter going up by 1:</p>
<p>&nbsp;</p>
<pre>SQL&gt; SELECT sql_exec_id FROM v$session WHERE sid = USERENV('SID');

SQL_EXEC_ID
-----------
   1677721<strong>7</strong>

SQL&gt; SELECT sql_exec_id FROM v$session WHERE sid = USERENV('SID');

SQL_EXEC_ID
-----------
   16777218

SQL&gt; SELECT sql_exec_id FROM v$session WHERE sid = USERENV('SID');

SQL_EXEC_ID
-----------
   16777219

SQL&gt; SELECT sql_exec_id FROM v$session WHERE sid = USERENV('SID');

SQL_EXEC_ID
-----------
   16777220
</pre>
<p>&nbsp;</p>
<p>Further executions of the same query keep incrementing this counter, one by one &#8211; even if I run this same SQL from another session in the same instance. So, this SQL_EXEC_ID is not a session-scope value for each SQL_ID, it&#8217;s at least instance-wide. It looks like the counting starts from 2^24 (the bit representing 2^24 is set) and ignoring that bit for now, the counting works normally, one by one, <em>starting from zero</em>.</p>
<p>&nbsp;</p>
<p>Note that changing even a single character in the SQL text (see the extra space in the end before the semi-colon) causes the SQL_ID to change and a different SQL_EXEC_ID counter to be reported (which starts from &#8220;zero&#8221; again). A separate SQL_EXEC_ID counter is maintained in shared pool for each SQL_ID:</p>
<pre>SQL&gt; SELECT sql_exec_id FROM v$session WHERE sid = USERENV('SID') ;

SQL_EXEC_ID
-----------
   16777216
</pre>
<p>&nbsp;</p>
<p>So, obviously, when I have just restarted my instance and still see&nbsp;16777216 as the starting SQL_EXEC_ID&nbsp;for any SQL I execute, it must mean that the full SQL_EXEC_ID value contains something else than just the execution number of this SQL_ID. Whenever I see such familiar values (like powers of 2), then I like to look into the values in hex format to see whether some higher order bits are used for some special purpose. Let&#8217;s run a new SQL statement:</p>
<p>&nbsp;</p>
<pre>SQL&gt; SELECT sql_exec_id, TO_CHAR(sql_exec_id,'XXXXXXXX') hex FROM v$session WHERE sid = USERENV('SID') ;

SQL_EXEC_ID HEX
----------- ---------
   16777216   <strong>1</strong>000000

SQL&gt; SELECT sql_exec_id, TO_CHAR(sql_exec_id,'XXXXXXXX') hex FROM v$session WHERE sid = USERENV('SID') ;

SQL_EXEC_ID HEX
----------- ---------
   16777217   <strong>1</strong>000001

SQL&gt; SELECT sql_exec_id, TO_CHAR(sql_exec_id,'XXXXXXXX') hex FROM v$session WHERE sid = USERENV('SID') ;

SQL_EXEC_ID HEX
----------- ---------
   16777218   <strong>1</strong>000002
</pre>
<p>&nbsp;</p>
<p>Indeed, it looks like the 25th bit (2^24) is always pre-set to 1, while the least significant 24 bits represent how many times this SQL ID has been executed in an instance (I have tested this with a loop &#8211; the 24 least significant bits do get used fully for representing the SQL ID&#8217;s execution count in the instance and once it reaches 0xFFFFFF &#8211; or 0x1FFFFFF with that pre-set 25th bit, it wraps to 0&#215;1000000 &#8211; the 25th bit still remaining set!). So the SQL_EXEC_ID can reliably only track 2^24 &#8211; 1 SQL executions in an instance and then the counter wraps to beginning. This is why you should include SQL_EXEC_START (date datatype with 1 sec precision) column in your performance monitoring queries as well, to distinguish between SQL executions with a colliding SQL_EXEC_ID. As long as you&#8217;re executing your SQL statement less than 16.7 million times per second per instance, this should be fine :-)</p>
<p>&nbsp;</p>
<p>Anyway, so what&#8217;s the magic 25th bit then? Well, in RAC it would be very hard to somehow coordinate the incrementing of a single counter globally (that&#8217;s why you want to keep your sequences cached in RAC), I figure that there are different counters for the same SQL ID in different RAC instances. Let&#8217;s check &#8211; I will log in to another RAC node (node 2) and run this:</p>
<p>&nbsp;</p>
<pre>SQL&gt; SELECT sql_exec_id, TO_CHAR(sql_exec_id,'XXXXXXXX') hex FROM v$session WHERE sid = USERENV('SID') ;

SQL_EXEC_ID HEX
----------- ---------
   33554433   <strong>2</strong>000001

SQL&gt; SELECT sql_exec_id, TO_CHAR(sql_exec_id,'XXXXXXXX') hex FROM v$session WHERE sid = USERENV('SID') ;

SQL_EXEC_ID HEX
----------- ---------
   33554434   <strong>2</strong>000002

SQL&gt; SELECT sql_exec_id, TO_CHAR(sql_exec_id,'XXXXXXXX') hex FROM v$session WHERE sid = USERENV('SID') ;

SQL_EXEC_ID HEX
----------- ---------
   33554435   <strong>2</strong>000003
</pre>
<p>&nbsp;</p>
<p>Whoa &#8211; the SQL Execution ID in the 2nd instance starts from 33 Million! And when you convert the value to hex, you&#8217;ll see that now the 26th bit is set &#8211; showing that this SQL was executed in instance #2!</p>
<p>So, it very much looks like that while the 24 least significant bits are used for the SQL execution ID counter, the more significant bits are used for showing which instance_id ran that SQL. Assuming that 32 bits are used for the whole SQL_EXEC_ID value, then up to 8 higher order bits could be used for storing the instance_id &#8211; supporting up to 256-node RAC clusters. This is very useful when analyzing past ASH data as you can aggregate data (count min/max exec ID difference to get the execution counts in a time range) either in each separate instance or globally &#8211; by stripping out the instance_id part from the value.</p>
<p>I haven&#8217;t tested the instance_id part with 256-node RAC clusters (as Santa Claus is cutting back due to poor economy), but at least on an 8-node full rack Exadata all 8 instance_ids were reported properly. Note that for serial queries, the SQL_EXEC_ID shows you the instance_id of the instance where the session is logged on to, but for inter-instance parallel query, you will see the instance_id of the <em>query coordinator</em> for all PX slaves, regardless of in which instances they run. Here&#8217;s a little script from a 8-node Exadata cluster to show it. I&#8217;ll leave it up to you to fully figure it out what, how and why it&#8217;s doing, but basically what it shows is that the SQL_EXEC_ID consists of the <em>query coordinator&#8217;s</em> instance_id value and the execution number for a SQL_ID in the instance where the query coordinator session was logged in:</p>
<p>&nbsp;</p>
<pre>SQL&gt; SELECT qc_instance_id, MIN(TO_CHAR(sql_exec_id,'XXXXXXXX'))
  2  , MAX(TO_CHAR(sql_exec_id,'XXXXXXXX'))
  3* FROM gv$active_session_history GROUP BY qc_instance_id order by 1
SQL&gt; /

QC_INSTANCE_ID MIN(TO_CH MAX(TO_CH
-------------- --------- ---------
             1   1000000   100540F
             2   2000000   20009BF
             3   3000000   300541E
             4   4000000   40000DD
             5   5000000   50C5035
             6   6000000   600018C
             7   7000000   700023D
             8   8000000   8000755
                 1000000   803DF3B

9 rows selected.
</pre>
<p>&nbsp;</p>
<p>That&#8217;s all for today &#8211; more cool stuff is coming, I promise :-)</p>
<p>&nbsp;</p>
<p>And oh, next week I&#8217;ll start another run of my <a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cudGFuZWxwb2Rlci5jb20vc2VtaW5hci8=" target=\"_blank\">Advanced Oracle Troubleshooting seminar</a>, so check it out! ;-)</p>
 <img src="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1518" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.tanelpoder.com/2011/10/24/what-the-heck-is-the-sql-execution-id-sql_exec_id/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Full scans, direct path reads and ORA-8103 error hacking session video here (plus iTunes podcast address!)</title>
		<link>http://blog.tanelpoder.com/2011/08/11/full-scans-direct-path-reads-and-ora-8103-error-hacking-session-video-here-plus-itunes-podcast-address-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=full-scans-direct-path-reads-and-ora-8103-error-hacking-session-video-here-plus-itunes-podcast-address-2</link>
		<comments>http://blog.tanelpoder.com/2011/08/11/full-scans-direct-path-reads-and-ora-8103-error-hacking-session-video-here-plus-itunes-podcast-address-2/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 17:35:46 +0000</pubDate>
		<dc:creator>Tanel Poder</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Internals]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://blog.tanelpoder.com/2011/08/11/full-scans-direct-path-reads-and-ora-8103-error-hacking-session-video-here-plus-itunes-podcast-address-2/</guid>
		<description><![CDATA[I have uploaded the latest hacking session video to blip.tv. I have edited it a little, I cut out the part where I spilled an entire Red Bull onto my desk, with some onto my laptop (some keys are still sticky:) Also, I do upload all these sessins into iTunes &#8211; so you can subscribe [...]]]></description>
			<content:encoded><![CDATA[<p>I have uploaded the latest hacking session video to blip.tv. I have edited it a little, I cut out the part where I spilled an entire Red Bull onto my desk, with some onto my laptop (some keys are still sticky:)</p>
<p>Also, I do upload all these sessins into iTunes &#8211; so you can subscribe to my podcast! That way you can download the videos into your computer, phone or iPad. I have deliberately used 1024&#215;768 resolution so it would look awesome on iPad screen! (so hopefully your commute time gets a bit more fun now ;-)</p>
<p>&nbsp;</p>
<p>Enjoy!</p>
<p><strong>iTunes video-podcast:</strong></p>
<ul>
<li><a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2JpdC5seS9xbmYwZmQ=" target=\"_blank\">http://bit.ly/qnf0fd</a></li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><embed type="application/x-shockwave-flash" width="512" height="399" src="http://blip.tv/play/AYLNmlEA" allowfullscreen="true" allowscriptaccess="always" wmode="transparent"></embed></p>
 <img src="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1507" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.tanelpoder.com/2011/08/11/full-scans-direct-path-reads-and-ora-8103-error-hacking-session-video-here-plus-itunes-podcast-address-2/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Secret hacking session &#8211; full scans, direct path reads, object level checkpoints, ORA-8103s! (again)</title>
		<link>http://blog.tanelpoder.com/2011/08/08/secret-hacking-session-full-scans-direct-path-reads-object-level-checkpoints-ora-8103s-again/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=secret-hacking-session-full-scans-direct-path-reads-object-level-checkpoints-ora-8103s-again</link>
		<comments>http://blog.tanelpoder.com/2011/08/08/secret-hacking-session-full-scans-direct-path-reads-object-level-checkpoints-ora-8103s-again/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 19:14:23 +0000</pubDate>
		<dc:creator>Tanel Poder</dc:creator>
				<category><![CDATA[Cool stuff]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Internals]]></category>
		<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://blog.tanelpoder.com/?p=1501</guid>
		<description><![CDATA[I&#8217;m mentioning this again just in case you missed the announcement (because I posted it on the weekend): &#160; There will be anotner free Secret hacking session &#8211; about full scans, direct path reads, object level checkpoints, ORA-8103s! It will happen tomorrow, Tuesday 9th August, online! &#160; Register here: http://blog.tanelpoder.com/seminar/secret/ See you soon! &#160;]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m mentioning this again just in case you missed the announcement (because I posted it on the weekend):</p>
<p>&nbsp;</p>
<p>There will be anotner <strong>free</strong> Secret hacking session &#8211; about full scans, direct path reads, object level checkpoints, ORA-8103s!</p>
<p>It will happen tomorrow, Tuesday 9th August, online!</p>
<p>&nbsp;</p>
<p>Register here:</p>
<ul>
<li><a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cudGFuZWxwb2Rlci5jb20vc2VtaW5hci9zZWNyZXQv">http://blog.tanelpoder.com/seminar/secret/</a></li>
</ul>
<div></div>
<div></div>
<div>See you soon!</div>
<p>&nbsp;</p>
 <img src="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1501" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.tanelpoder.com/2011/08/08/secret-hacking-session-full-scans-direct-path-reads-object-level-checkpoints-ora-8103s-again/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Are you getting the most out of your Exadata performance? Part 1</title>
		<link>http://blog.tanelpoder.com/2011/08/08/are-you-getting-the-most-out-of-your-exadata-performance-part-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=are-you-getting-the-most-out-of-your-exadata-performance-part-1</link>
		<comments>http://blog.tanelpoder.com/2011/08/08/are-you-getting-the-most-out-of-your-exadata-performance-part-1/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 14:54:42 +0000</pubDate>
		<dc:creator>Tanel Poder</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Exadata]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Tuning]]></category>

		<guid isPermaLink="false">http://blog.tanelpoder.com/2011/08/08/are-you-getting-the-most-out-of-your-exadata-performance-part-1/</guid>
		<description><![CDATA[In almost all of the Exadata migration projects I&#8217;ve been part of, the client sees immediate speedup &#38; performance increase when testing their workload on Exadata (of course, we&#8217;ve made sure that we do plan &#38; execute the tasks right). However, my performance geek&#8217;s nature usually doesn&#8217;t allow to stop there and leave the client [...]]]></description>
			<content:encoded><![CDATA[<p>In almost all of the Exadata migration projects I&#8217;ve been part of, the client sees immediate speedup &amp; performance increase when testing their workload on Exadata (of course, we&#8217;ve made sure that we do plan &amp; execute the tasks right). However, my performance geek&#8217;s nature usually doesn&#8217;t allow to stop there and leave the client with just 2x or 3x performance increase. For data warehousing and reporting workloads, Exadata can do much better than just 2-3x performance increase!&nbsp;</p>
<p>This is why I will write this article series about Getting the Most out of your Exadata Performance. I will write a bunch of random articles, based on my experience and lessons learned &#8211; and some day I may consolidate it all into a more formal paper.</p>
<p>So, <a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZpbGVzLmUyc24uY29tL1RhbmVsX1BvZGVyX0V4YWRhdGFfUGVyZm9ybWFuY2VfMDEucGRm">here&#8217;s the first article</a> (PDF format).</p>
<p>Enjoy! :-)</p>
<p>(Leave your comments &amp; feedback here &#8230;)</p>
 <img src="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1498" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.tanelpoder.com/2011/08/08/are-you-getting-the-most-out-of-your-exadata-performance-part-1/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Secret hacking session &#8211; full scans, direct path reads, object level checkpoints, ORA-8103s!</title>
		<link>http://blog.tanelpoder.com/2011/08/06/secret-hacking-session-full-scans-direct-path-reads-object-level-checkpoints-ora-8103s/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=secret-hacking-session-full-scans-direct-path-reads-object-level-checkpoints-ora-8103s</link>
		<comments>http://blog.tanelpoder.com/2011/08/06/secret-hacking-session-full-scans-direct-path-reads-object-level-checkpoints-ora-8103s/#comments</comments>
		<pubDate>Sat, 06 Aug 2011 11:49:26 +0000</pubDate>
		<dc:creator>Tanel Poder</dc:creator>
				<category><![CDATA[Cool stuff]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Exadata]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Training]]></category>

		<guid isPermaLink="false">http://blog.tanelpoder.com/2011/08/06/secret-hacking-session-full-scans-direct-path-reads-object-level-checkpoints-ora-8103s/</guid>
		<description><![CDATA[FREE STUFF !!! FREE STUFF !!! FREE STUFF !!! At the last week&#8217;s Expert Oracle Exadata virtual conference both me and Kerry touched the topic of how smart scan (and direct path read) decisions are done for each scanned segment during the SQL execution runtime &#8211; and not by the optimizer during the optimization phase. [...]]]></description>
			<content:encoded><![CDATA[<div>FREE STUFF !!! FREE STUFF !!! FREE STUFF !!!</div>
<div>At the last week&#8217;s Expert Oracle Exadata virtual conference both me and Kerry touched the topic of how smart scan (and direct path read) decisions are done for each scanned segment during the SQL execution runtime &#8211; and not by the optimizer during the optimization phase.</div>
<div>I got a few follow-up questions about this yesterday and I also recall a similar question after my Understanding Exadata Performance Metrics presentation I did for UKOUG in London in April.</div>
<div>I think this is a topic which deserves some deeper coverage and so I decided I&#8217;ll do another secret hacking session on <strong>Tuesday 9th August (2011) 9-11am PDT.</strong></div>
<div>The topics (hopefully) covered will be:</div>
<div>
<ol style="padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; margin: 0px;">
<li style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; list-style-position: inside; margin: 0px;">How do full table scans work</li>
<li style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; list-style-position: inside; margin: 0px;">How and why do the “ORA-8103: object no longer exists” happen</li>
<li style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; list-style-position: inside; margin: 0px;">How does Oracle (11g) decide between a buffered full table scan and a direct path read scan (plus smart scan in Exadata)</li>
<li style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; list-style-position: inside; margin: 0px;">What’s the difference between an object_id and data_object_id?</li>
<li style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; list-style-position: inside; margin: 0px;">and more!</li>
</ol>
</div>
<div></div>
<div>Note that while I do touch the Exadata topic a bit too, this session is generic and useful for anyone full scanning tables on any Oracle database&#8230; :)</div>
<div>This event is free and you can sign up here:</div>
<div>
<ul>
<li><a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cudGFuZWxwb2Rlci5jb20vc2VtaW5hci9zZWNyZXQv" target=\"_self\">http://blog.tanelpoder.com/seminar/secret/</a></li>
</ul>
<p>P.S. I will record the event and publish the video too. So if you&#8217;re in Australia or Hong Kong, no need to stay up late ;-)</p>
</div>
 <img src="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1496" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.tanelpoder.com/2011/08/06/secret-hacking-session-full-scans-direct-path-reads-object-level-checkpoints-ora-8103s/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Training Schedule for 2011 and Public Appearances</title>
		<link>http://blog.tanelpoder.com/2011/07/28/training-schedule-for-2011-and-public-appearances/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=training-schedule-for-2011-and-public-appearances</link>
		<comments>http://blog.tanelpoder.com/2011/07/28/training-schedule-for-2011-and-public-appearances/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 19:01:21 +0000</pubDate>
		<dc:creator>Tanel Poder</dc:creator>
				<category><![CDATA[Cool stuff]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Internals]]></category>
		<category><![CDATA[Oracle 11gR2]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Tuning]]></category>

		<guid isPermaLink="false">http://blog.tanelpoder.com/2011/07/28/training-schedule-for-2011-and-public-appearances/</guid>
		<description><![CDATA[Online Seminars A lot of people have asked me about whether I&#8217;d be doing any more seminars in the future. And the answer is yes &#8211; at least this year (might be too busy running a company the next year ;-) I have finally put together the schedule for my 2011 seminars. In addition to [...]]]></description>
			<content:encoded><![CDATA[<div><strong>Online Seminars</strong></div>
<div></div>
<div></div>
<div>A lot of people have asked me about whether I&#8217;d be doing any more seminars in the future. And the answer is yes &#8211; at least this year (might be too busy running a company the next year ;-)</div>
</p>
<div></div>
<div>I have finally put together the schedule for my 2011 seminars. In addition to the Advanced Oracle Troubleshooting seminar I will also deliver my Advanced Oracle SQL Tuning and Oracle Partitioning and Parallel Execution for Performance seminars, which I have done only onsite in past.</div>
</p>
<div></div>
<div></div>
<div>So, check out the seminars page:</div>
<div>
<ul>
<li><a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cudGFuZWxwb2Rlci5jb20vc2VtaW5hci8=" target=\"_self\">http://blog.tanelpoder.com/seminar/</a></li>
</ul>
</div>
<div></div>
<div>Also don&#8217;t forget the <a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=Li4vLi4vYmxvZy50YW5lbHBvZGVyLmNvbS9zZW1pbmFyL2V4cGVydC1vcmFjbGUtZXhhZGF0YS12aXJ0dWFsLWNvbmZlcmVuY2Uv" target=\"_blank\">Expert Oracle Exadata virtual conference</a> next week!</div>
</p>
<div></div>
<div></div>
<div></div>
<div><strong>Public Appearances</strong></div>
<div></div>
<div><strong><span style="font-size: small;"><br />
</span></strong></div>
</p>
<div>Oracle OpenWorld 2. October</div>
<div>
<ul>
<li>I will talk about <em><strong>Large-Scale Consolidation onto Oracle Exadata: Planning, Execution, and Validation</strong></em></li>
<li>Session ID 09355</li>
</ul>
</div>
<div></div>
<div></div>
</p>
<div>Maybe I&#8217;ll lurk around the UKOUG venue as well in december ;-)</div>
</p>
<div></div>
<div></div>
 <img src="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1480" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.tanelpoder.com/2011/07/28/training-schedule-for-2011-and-public-appearances/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enabling and Reading event 10046 / SQL Trace</title>
		<link>http://blog.tanelpoder.com/2011/07/20/enabling-and-reading-event-10046-sql-trace/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=enabling-and-reading-event-10046-sql-trace</link>
		<comments>http://blog.tanelpoder.com/2011/07/20/enabling-and-reading-event-10046-sql-trace/#comments</comments>
		<pubDate>Wed, 20 Jul 2011 12:41:26 +0000</pubDate>
		<dc:creator>Tanel Poder</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://blog.tanelpoder.com/2011/07/20/enabling-and-reading-event-10046-sql-trace/</guid>
		<description><![CDATA[As I&#8217;m done with the book and back from a quick vacation (to Prague, which is an awesome place &#8211; well, at least during the summer) I promised (in Twitter) that now I&#8217;d start regularly writing blog articles again. In a separate tweet I asked what to write about. Among other requests (which I&#8217;ll write [...]]]></description>
			<content:encoded><![CDATA[<p>As I&#8217;m done with the book and back from a quick vacation (to Prague, which is an awesome place &#8211; well, at least during the summer) I promised (in Twitter) that now I&#8217;d start regularly writing blog articles again. In a separate tweet I asked what to write about. Among other requests (which I&#8217;ll write about later), one of the requests was to write something about enabling and reading SQL trace files&#8230;&nbsp;</p>
<p>I am probably not going to write (much) about SQL trace for a single reason &#8211; Cary Millsap has already written a paper so good about this topic, that there&#8217;s no point for me to try to repeat it (and my paper wouldn&#8217;t probably be as clear as Cary&#8217;s).</p>
<p>So, if you want to get the most out of SQL Trace, read Cary&#8217;s <strong>Mastering Performance with Extended SQL Trace</strong> paper:</p>
<ul>
<li><a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL21ldGhvZC1yLmNvbS9kb3dubG9hZHMvY2F0X3ZpZXcvMzgtcGFwZXJzLWFuZC1hcnRpY2xlcw==" target=\"_blank\">http://method-r.com/downloads/cat_view/38-papers-and-articles</a></li>
</ul>
<p>&nbsp;</p>
<p>The above link directs you to Method-R&#8217;s article index, as there&#8217;s a lot of other useful stuff to read there.</p>
<p>Wow, now I&#8217;m done with my first request &#8211; to write <em>something</em>&nbsp;about SQL Trace :-)</p>
<p>&nbsp;</p>
 <img src="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1472" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.tanelpoder.com/2011/07/20/enabling-and-reading-event-10046-sql-trace/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The First Exadata Virtual Conference in the World!</title>
		<link>http://blog.tanelpoder.com/2011/07/04/the-first-exadata-virtual-conference-in-the-world/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-first-exadata-virtual-conference-in-the-world</link>
		<comments>http://blog.tanelpoder.com/2011/07/04/the-first-exadata-virtual-conference-in-the-world/#comments</comments>
		<pubDate>Mon, 04 Jul 2011 18:59:44 +0000</pubDate>
		<dc:creator>Tanel Poder</dc:creator>
				<category><![CDATA[Cool stuff]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Exadata]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Tuning]]></category>

		<guid isPermaLink="false">http://blog.tanelpoder.com/2011/07/04/the-first-exadata-virtual-conference-in-the-world/</guid>
		<description><![CDATA[We have been secretly planning something with Kerry Osborne &#8211; and now it&#8217;s official &#8211; we will host The First Exadata Virtual Conference in the World, on 3-4 August 2011. This conference takes place a couple of weeks after our Expert Oracle Exadata book is published (on 18. July &#8211; check out the awesome new [...]]]></description>
			<content:encoded><![CDATA[<p>We have been secretly planning something with <a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2tlcnJ5b3Nib3JuZS5vcmFjbGUtZ3V5LmNvbS8=" target=\"_blank\">Kerry Osborne</a> &#8211; and now it&#8217;s official &#8211; we will host <strong>The First Exadata Virtual Conference in the World</strong>, on 3-4 August 2011.</p>
<p>This conference takes place a couple of weeks after our Expert Oracle Exadata book is published (on 18. July &#8211; check out the <a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hcHJlc3MuY29tLzk3ODE0MzAyMzM5MjM=" target=\"_blank\">awesome new cover design</a>). So, we thought it&#8217;d be a good idea to run this conference, where we can explain some things in a different format, do live demos and answer questions that attendees have.</p>
<p>On the first day Kerry and Randy will talk about some serious fundamentals of Exadata, like how Exadata <strong>Smart Scan Offloading</strong> works and how to make the <strong>IO resource manager</strong> work for you (especially important in mixed workload consolidated environments).</p>
<p>And on the second day we&#8217;ll dig even deeper, with Andy Colvin talking about how to <strong>survive Exadata patching</strong> (he has patched more Exadatas than anyone else I know) and me following up with some <strong>complex performance troubleshooting stories</strong> I&#8217;ve encountered recently (trust me &#8211; there&#8217;s a LOT of issues to troubleshoot ;-)</p>
<p><strong>About the Conference:</strong></p>
<p><strong> </strong>Since its release, Oracle Exadata quickly became a hit. Due to the relative “youth” of Exadata technology and internal behavior changes introduced with frequent patch-sets, there’s not much up-to-date quality technical information and know-how available to public. This virtual conference brings you a chance to learn from the leading Exadata experts, from their experience of working with real Exadata environments, from Exadata V1 to the latest X2-8. Additionally, there is plenty of Q&amp;A time scheduled, so you can also get answers to your Exadata-related questions.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding: 0px;">The speakers are probably some of the most experienced Exadata consultants in the world, in the field of Exadata deployment, migration, performance, and troubleshooting. Also, Kerry, Randy and Tanel are the authors of the <strong style="padding: 0px; margin: 0px;"><a style=\"color: #2970a6; text-decoration: none; padding: 0px; margin: 0px;\" href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hcHJlc3MuY29tLzk3ODE0MzAyMzM5MjM=">Expert Oracle Exadata</a></strong> book published by Apress in July 2011.</p>
<p><strong>Dates:</strong></p>
<ul>
<li>3-4 August 2011</li>
</ul>
<p><strong>Location:</strong></p>
<ul>
<li>Online (or should I say &#8220;the Cloud&#8221; ;-)</li>
</ul>
<p><strong>Duration:</strong></p>
<ul>
<li>8am &#8211; 12pm (PST) on both days &#8211; 2 x 1.5h sessions on each day, with Q&amp;A sessions and a break in between</li>
</ul>
<p><strong>Speakers:</strong></p>
<ul>
<li>Kerry Osborne, Randy Johnson, Andy Colvin from <a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5lbmtpdGVjLmNvbQ==" target=\"_blank\">Enkitec</a></li>
<li>Tanel Poder from <a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cudGFuZWxwb2Rlci5jb20=" target=\"_blank\">right here</a> :-)</li>
</ul>
<p>All of the speakers are hard-core hands-on professionals, having worked on many different real-life (production) Exadata environments of their clients. Enkitec dudes didn&#8217;t stop there, they bought a half rack for themselves, just for playing around with it. Yeah (+1 from me), some people buy a red hot Ferrari, some buy a red hot computer rack with an X on it :-)</p>
<p><strong>Price:</strong></p>
<ul>
<li>375 USD (early bird until 22. July), 475 regular price</li>
</ul>
<p><strong>More information, abstracts and registration: </strong></p>
<ul>
<li><a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cudGFuZWxwb2Rlci5jb20vc2VtaW5hci9leHBlcnQtb3JhY2xlLWV4YWRhdGEtdmlydHVhbC1jb25mZXJlbmNlLw==" target=\"_self\">http://blog.tanelpoder.com/seminar/expert-oracle-exadata-virtual-conference/</a></li>
</ul>
<p>I don&#8217;t think you&#8217;ll find an Exadata learning opportunity like this from anywhere else (and any time soon), especially considering the price!</p>
<p><em><strong>This conference is so hot, that one of the attendees managed to sign up to it even before I had published this page to the world! :-)</strong></em></p>
<p><em><strong><br />
</strong></em></p>
 <img src="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1395" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.tanelpoder.com/2011/07/04/the-first-exadata-virtual-conference-in-the-world/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Another cache buffers chains latch contention troubleshooting example using LatchProf</title>
		<link>http://blog.tanelpoder.com/2011/06/30/another-cache-buffers-chains-latch-contention-troubleshooting-example-using-latchprof/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=another-cache-buffers-chains-latch-contention-troubleshooting-example-using-latchprof</link>
		<comments>http://blog.tanelpoder.com/2011/06/30/another-cache-buffers-chains-latch-contention-troubleshooting-example-using-latchprof/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 21:53:34 +0000</pubDate>
		<dc:creator>Tanel Poder</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://blog.tanelpoder.com/2011/06/30/another-cache-buffers-chains-latch-contention-troubleshooting-example-using-latchprof/</guid>
		<description><![CDATA[One of my blog readers recently dropped me an email noting that he had noticed some cache buffers chains latch contention recently and successfully troubleshooted it with LatchProf. I asked if he&#8217;d like to blog about it and here&#8217;s the article: http://orapsdba.wordpress.com/2011/06/21/another-latchcache-buffer-chains-troubleshooting/ &#160; Cache buffer chains latch contention typically shows up when some execution plans [...]]]></description>
			<content:encoded><![CDATA[<p>One of my blog readers recently dropped me an email noting that he had noticed some cache buffers chains latch contention recently and successfully troubleshooted it with <a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=Li4vLi4vdGVjaC5lMnNuLmNvbS9vcmFjbGUvdHJvdWJsZXNob290aW5nL2xhdGNoLWNvbnRlbnRpb24tdHJvdWJsZXNob290aW5n" target=\"_blank\">LatchProf</a>. I asked if he&#8217;d like to blog about it and here&#8217;s the article:</p>
<ul>
<li><a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL29yYXBzZGJhLndvcmRwcmVzcy5jb20vMjAxMS8wNi8yMS9hbm90aGVyLWxhdGNoY2FjaGUtYnVmZmVyLWNoYWlucy10cm91Ymxlc2hvb3Rpbmcv" target=\"_blank\">http://orapsdba.wordpress.com/2011/06/21/another-latchcache-buffer-chains-troubleshooting/</a></li>
</ul>
<p>&nbsp;</p>
<p>Cache buffer chains latch contention typically shows up when some execution plans go bad, switching to nested loops or filter loops and revisiting the same table (or index) blocks very frequently&#8230;</p>
<p>&nbsp;</p>
 <img src="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1227" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.tanelpoder.com/2011/06/30/another-cache-buffers-chains-latch-contention-troubleshooting-example-using-latchprof/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

