<?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: buffer flush</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2011/03/16/buffer-flush/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2011/03/16/buffer-flush/</link>
	<description>Just another Oracle weblog</description>
	<lastBuildDate>Wed, 19 Jun 2013 12:03:39 +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/2011/03/16/buffer-flush/#comment-40046</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Sun, 20 Mar 2011 09:50:33 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3377#comment-40046</guid>
		<description><![CDATA[Bernard,

I&#039;m strongly inclined to agree with you about &lt;i&gt;&quot;other parts of Oracle circumventing the need&quot;&lt;/i&gt;. (The cynic might, at this point, check the TPC-C disclosures to see which bit of the TPC-C data set Oracle put into the KEEP cache - and ask why.)

There was an interesting defect with &quot;smallish&quot; tablescans in 8i and 9i  that made it worth KEEPing tables as a short-term damage limitation option - but apart from that I don&#039;t think there will be many people who really see a benefit from KEEP.

The strategy I use is basically: check v$segstat (Segments by ... in the AWR/Statspack) and IF I find a segment which is responsible for a large fraction of the physical I/O, and IF I can work out that this isn&#039;t just some inefficient code or poor indexing, and IF a very large fraction of the object is already cached, and IF I can&#039;t see an obvious threat to the rest of the data set by taking away some of the DEFAULT cache, then I will suggest a temporary switch of cache from DEFAULT to KEEP - and check what this does to the physical I/O of that segment and the general level of physical I/O on the whole system.]]></description>
		<content:encoded><![CDATA[<p>Bernard,</p>
<p>I&#8217;m strongly inclined to agree with you about <i>&#8220;other parts of Oracle circumventing the need&#8221;</i>. (The cynic might, at this point, check the TPC-C disclosures to see which bit of the TPC-C data set Oracle put into the KEEP cache &#8211; and ask why.)</p>
<p>There was an interesting defect with &#8220;smallish&#8221; tablescans in 8i and 9i  that made it worth KEEPing tables as a short-term damage limitation option &#8211; but apart from that I don&#8217;t think there will be many people who really see a benefit from KEEP.</p>
<p>The strategy I use is basically: check v$segstat (Segments by &#8230; in the AWR/Statspack) and IF I find a segment which is responsible for a large fraction of the physical I/O, and IF I can work out that this isn&#8217;t just some inefficient code or poor indexing, and IF a very large fraction of the object is already cached, and IF I can&#8217;t see an obvious threat to the rest of the data set by taking away some of the DEFAULT cache, then I will suggest a temporary switch of cache from DEFAULT to KEEP &#8211; and check what this does to the physical I/O of that segment and the general level of physical I/O on the whole system.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bernard Polarski</title>
		<link>http://jonathanlewis.wordpress.com/2011/03/16/buffer-flush/#comment-40013</link>
		<dc:creator><![CDATA[Bernard Polarski]]></dc:creator>
		<pubDate>Thu, 17 Mar 2011 09:06:12 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3377#comment-40013</guid>
		<description><![CDATA[The gold rule in Oracle has always been to not set a parameter if you don&#039;t know the benefit. But up to now I never found anyway to assess the benefit of setting a keep cache. There are plenty queries to be found on the net which list the tables to set in &#039;cache&#039; attribute or you die on the spot. 

Nevertheless, I notice in all OLTP I ever did looked into, that small and medium tables are still doing gets and no physical reads, and if there are physical on these objects, increasing the buffer_cache solves the issue. In respect of the big tables, they are too big to fit anyway. So I am reading you articles with interest but do not find any clue as of why I should set a feature that up to now, I could do without. 

My feeling is that the KEEP is like the FIRST_ROW : something Oracle did, but in fact other parts of the engine, circumvent the needs. I recon, I might be wrong, but up to know, the need for a KEEP cache never come up or I was not smart enough to detect its needs.]]></description>
		<content:encoded><![CDATA[<p>The gold rule in Oracle has always been to not set a parameter if you don&#8217;t know the benefit. But up to now I never found anyway to assess the benefit of setting a keep cache. There are plenty queries to be found on the net which list the tables to set in &#8216;cache&#8217; attribute or you die on the spot. </p>
<p>Nevertheless, I notice in all OLTP I ever did looked into, that small and medium tables are still doing gets and no physical reads, and if there are physical on these objects, increasing the buffer_cache solves the issue. In respect of the big tables, they are too big to fit anyway. So I am reading you articles with interest but do not find any clue as of why I should set a feature that up to now, I could do without. </p>
<p>My feeling is that the KEEP is like the FIRST_ROW : something Oracle did, but in fact other parts of the engine, circumvent the needs. I recon, I might be wrong, but up to know, the need for a KEEP cache never come up or I was not smart enough to detect its needs.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
