<?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: Free Buffer Waits</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/</link>
	<description>Just another Oracle weblog</description>
	<lastBuildDate>Sun, 19 May 2013 12:40:29 +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/2006/11/21/free-buffer-waits/#comment-29676</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Sun, 17 Feb 2008 20:32:41 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/#comment-29676</guid>
		<description><![CDATA[Sanjeev,

&quot;CR Cloning&quot; - to see the correct version of a block (as at a point in time), Oracle may have to copy it then apply undo records to take the copy back in time. 

When you see the statistic &lt;em&gt;&quot;consistent gets&quot;, &lt;/em&gt;some will be &lt;em&gt;&quot;no work - consistent read gets&quot;&lt;/em&gt; which means that this action was not necessary, but if you see some &lt;em&gt;&quot;data blocks consistent reads - undo records applied&quot;&lt;/em&gt; you know that some blocks have been cloned to create the appropriate version.  (The statistic &lt;em&gt;&quot;transaction tables consistent reads - undo records applied&quot;&lt;/em&gt; is a more exotic example of the same thing).]]></description>
		<content:encoded><![CDATA[<p>Sanjeev,</p>
<p>&#8220;CR Cloning&#8221; &#8211; to see the correct version of a block (as at a point in time), Oracle may have to copy it then apply undo records to take the copy back in time. </p>
<p>When you see the statistic <em>&#8220;consistent gets&#8221;, </em>some will be <em>&#8220;no work &#8211; consistent read gets&#8221;</em> which means that this action was not necessary, but if you see some <em>&#8220;data blocks consistent reads &#8211; undo records applied&#8221;</em> you know that some blocks have been cloned to create the appropriate version.  (The statistic <em>&#8220;transaction tables consistent reads &#8211; undo records applied&#8221;</em> is a more exotic example of the same thing).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sanjeev Chawla</title>
		<link>http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/#comment-29671</link>
		<dc:creator><![CDATA[Sanjeev Chawla]]></dc:creator>
		<pubDate>Sun, 17 Feb 2008 15:40:01 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/#comment-29671</guid>
		<description><![CDATA[Thanks for the nice explanation.

Please help to elaborate more on CR Cloning, Thanks.]]></description>
		<content:encoded><![CDATA[<p>Thanks for the nice explanation.</p>
<p>Please help to elaborate more on CR Cloning, Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aman Sharma</title>
		<link>http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/#comment-27802</link>
		<dc:creator><![CDATA[Aman Sharma]]></dc:creator>
		<pubDate>Thu, 27 Dec 2007 17:12:02 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/#comment-27802</guid>
		<description><![CDATA[Excellent sir! Really a good learning!
REgards,
Aman....]]></description>
		<content:encoded><![CDATA[<p>Excellent sir! Really a good learning!<br />
REgards,<br />
Aman&#8230;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Viveshar</title>
		<link>http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/#comment-17967</link>
		<dc:creator><![CDATA[Viveshar]]></dc:creator>
		<pubDate>Sat, 11 Aug 2007 17:37:13 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/#comment-17967</guid>
		<description><![CDATA[Thanks Jonathan.

Nice explanation.]]></description>
		<content:encoded><![CDATA[<p>Thanks Jonathan.</p>
<p>Nice explanation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/#comment-17940</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Sat, 11 Aug 2007 07:37:21 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/#comment-17940</guid>
		<description><![CDATA[Viveshar,
If I write a 4KB block, but the file system uses a unit size of 8KB, the write operation has to read the correct 8KB off disc into memory, write my 4KB into the right place in that 8KB, then write the 8KB block back to disc.

Hence the read/fill/write.

Even if DBWR happened to write two Oracle blocks that fitted into one 8KB file system block, the file system code would probably still see this as two separate events, and go through the cycle twice (although it would find the file system block cached when it started to write the second Oracle block).]]></description>
		<content:encoded><![CDATA[<p>Viveshar,<br />
If I write a 4KB block, but the file system uses a unit size of 8KB, the write operation has to read the correct 8KB off disc into memory, write my 4KB into the right place in that 8KB, then write the 8KB block back to disc.</p>
<p>Hence the read/fill/write.</p>
<p>Even if DBWR happened to write two Oracle blocks that fitted into one 8KB file system block, the file system code would probably still see this as two separate events, and go through the cycle twice (although it would find the file system block cached when it started to write the second Oracle block).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Viveshar</title>
		<link>http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/#comment-16937</link>
		<dc:creator><![CDATA[Viveshar]]></dc:creator>
		<pubDate>Fri, 03 Aug 2007 07:29:37 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/#comment-16937</guid>
		<description><![CDATA[Thanks Jonathan for your reply.

Just got a link of a posting by Steve Adams on this same subject. As you mentioned, even Steve says the same that this mismatch in block sizes can cause &quot;Free Buffer Waits&quot;. In his posting, he says that this is caused as DBWR writes Partial Blocks. I am of the opinion that since DBWR writes in Batch and not single blocks, how can this cause a performance issue.

In your posting above, you said that &quot;Oracle block write has to turn into a read/fill/write on a 8kb file system page&quot;. Would appreciate, if you can elaborate on this read/fill/write concept. 

Thanks]]></description>
		<content:encoded><![CDATA[<p>Thanks Jonathan for your reply.</p>
<p>Just got a link of a posting by Steve Adams on this same subject. As you mentioned, even Steve says the same that this mismatch in block sizes can cause &#8220;Free Buffer Waits&#8221;. In his posting, he says that this is caused as DBWR writes Partial Blocks. I am of the opinion that since DBWR writes in Batch and not single blocks, how can this cause a performance issue.</p>
<p>In your posting above, you said that &#8220;Oracle block write has to turn into a read/fill/write on a 8kb file system page&#8221;. Would appreciate, if you can elaborate on this read/fill/write concept. </p>
<p>Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/#comment-16850</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Thu, 02 Aug 2007 14:44:05 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/#comment-16850</guid>
		<description><![CDATA[Viveshar, 

traditionally a high value for &lt;em&gt;&quot;free buffer waits&quot;&lt;/em&gt; is an indication that the database writer is unable to clear dirty blocks fast enough. In the case of a 4KB db block size with an 8KB filesystem block size (and assuming you really are using the file system cache), an Oracle block write has to turn into a read/fill/write on an 8KB file system page.  This will slow down your writes and could result in your &quot;free buffer waits&quot;.

Before rebuilding your system, however, I would check the following: 
* is there any excess I/O (read or write) that could be eliminated (e.g. by tuning SQL)
* could you switch critical file systems to using direct I/O (which may have a different name on HP-UX).
* would introducing multiple (or extra) database writers help - which could be relevant if the I/O subsystem is not overloaded, and the problem is simply one of Oracle I/Os getting delayed in their queue.

If you are running 9i, and felt you really had to go to an 8KB block size, you could try to work out where most of your I/O was taking place and move the critical data into tablespaces with an 8KB block size, rather than rebuilding the whole database.  On the plus side, you could do the change over a period of time; on the minus side you have to think carefully about how you split the memory between the default (4KB) cache and the 8KB cache.

]]></description>
		<content:encoded><![CDATA[<p>Viveshar, </p>
<p>traditionally a high value for <em>&#8220;free buffer waits&#8221;</em> is an indication that the database writer is unable to clear dirty blocks fast enough. In the case of a 4KB db block size with an 8KB filesystem block size (and assuming you really are using the file system cache), an Oracle block write has to turn into a read/fill/write on an 8KB file system page.  This will slow down your writes and could result in your &#8220;free buffer waits&#8221;.</p>
<p>Before rebuilding your system, however, I would check the following:<br />
* is there any excess I/O (read or write) that could be eliminated (e.g. by tuning SQL)<br />
* could you switch critical file systems to using direct I/O (which may have a different name on HP-UX).<br />
* would introducing multiple (or extra) database writers help &#8211; which could be relevant if the I/O subsystem is not overloaded, and the problem is simply one of Oracle I/Os getting delayed in their queue.</p>
<p>If you are running 9i, and felt you really had to go to an 8KB block size, you could try to work out where most of your I/O was taking place and move the critical data into tablespaces with an 8KB block size, rather than rebuilding the whole database.  On the plus side, you could do the change over a period of time; on the minus side you have to think carefully about how you split the memory between the default (4KB) cache and the 8KB cache.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Viveshar</title>
		<link>http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/#comment-16835</link>
		<dc:creator><![CDATA[Viveshar]]></dc:creator>
		<pubDate>Thu, 02 Aug 2007 08:53:53 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/#comment-16835</guid>
		<description><![CDATA[Hi Jonathan,

Does a mismatch in the File System Block Size and DB Block Size cause Free Buffer Waits. We all know that the db_block_size should be a multiple of os block size. 

A typical scenario is that the file system block size is 8kb and db block size is 4kb. It is on HP Unix. The database suffers with huge Free Buffer Waits. The HP engineer suggests that the db block size should be either equal to or multiple to File System block size and this means, recreation of the database.

My query is &quot;can this cause free buffer waits&quot; ?

Would appreciate your reply on this.]]></description>
		<content:encoded><![CDATA[<p>Hi Jonathan,</p>
<p>Does a mismatch in the File System Block Size and DB Block Size cause Free Buffer Waits. We all know that the db_block_size should be a multiple of os block size. </p>
<p>A typical scenario is that the file system block size is 8kb and db block size is 4kb. It is on HP Unix. The database suffers with huge Free Buffer Waits. The HP engineer suggests that the db block size should be either equal to or multiple to File System block size and this means, recreation of the database.</p>
<p>My query is &#8220;can this cause free buffer waits&#8221; ?</p>
<p>Would appreciate your reply on this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Object IDs &#171; Oracle Scratchpad</title>
		<link>http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/#comment-274</link>
		<dc:creator><![CDATA[Object IDs &#171; Oracle Scratchpad]]></dc:creator>
		<pubDate>Mon, 27 Nov 2006 16:16:54 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/#comment-274</guid>
		<description><![CDATA[[...] If you&#8217;ve read my note on free buffer waits http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/ you will have seen a comment that, in x$bh, objects with obj (data object id) values in the region of 4 billion were undo segments. There is another numbering anomaly you need to be aware of.  [...]]]></description>
		<content:encoded><![CDATA[<p>[...] If you&#8217;ve read my note on free buffer waits <a href="http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/ you" rel="nofollow">http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/ you</a> will have seen a comment that, in x$bh, objects with obj (data object id) values in the region of 4 billion were undo segments. There is another numbering anomaly you need to be aware of.  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kevinclosson</title>
		<link>http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/#comment-231</link>
		<dc:creator><![CDATA[kevinclosson]]></dc:creator>
		<pubDate>Wed, 22 Nov 2006 16:30:52 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/#comment-231</guid>
		<description><![CDATA[Nice one. I&#039;m about ready to update my CMG multiple buffer pools paper for 10g. I&#039;ll be looking for this one since the workloads I use reak havoc with CR cloning]]></description>
		<content:encoded><![CDATA[<p>Nice one. I&#8217;m about ready to update my CMG multiple buffer pools paper for 10g. I&#8217;ll be looking for this one since the workloads I use reak havoc with CR cloning</p>
]]></content:encoded>
	</item>
</channel>
</rss>
