<?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: PGA Memory and PGA_AGGREGATE_TARGET, is there Something Wrong with this Quote?</title>
	<atom:link href="http://hoopercharles.wordpress.com/2010/08/04/pga-memory-and-pga_aggregate_target-is-there-something-wrong-with-this-quote/feed/" rel="self" type="application/rss+xml" />
	<link>http://hoopercharles.wordpress.com/2010/08/04/pga-memory-and-pga_aggregate_target-is-there-something-wrong-with-this-quote/</link>
	<description>Miscellaneous Random Oracle Topics: Stop, Think, ... Understand</description>
	<lastBuildDate>Thu, 13 Jun 2013 22:46:43 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2010/08/04/pga-memory-and-pga_aggregate_target-is-there-something-wrong-with-this-quote/#comment-1615</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Sat, 07 Aug 2010 02:36:25 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=2917#comment-1615</guid>
		<description><![CDATA[Sean,

Nice summary of the changes between releases. 

This might be one of the few paragraphs in the book that was not updated for Oracle 10g R2 and above (when OPTIMIZER_FEATURES_ENABLE is also set to 10.2.0.1 or greater).  Overall, I am impressed with the effort that Tom put into revising the book.  The book almost reads like it was freshly written specifically for Oracle 11g R2 with differences for older releases indicated when they exist, rather than a rehash of a rehash of a book (Expert One on One Oracle).

I think that I found one or two other errors in the first 1/3 of the book - much better than many of the other books that I have reviewed.

One of the assumptions that this book seems to make is that most programmers who read the book will be writing code that will only access the Enterprise Edition of Oracle, and likely with a couple of extra-cost licensed items.  At least in the early portion of the book the author makes little effort to state &quot;by the way, this will only work for some of the customers who use your programs&quot; - I guess that is a pet peeve of mine.]]></description>
		<content:encoded><![CDATA[<p>Sean,</p>
<p>Nice summary of the changes between releases. </p>
<p>This might be one of the few paragraphs in the book that was not updated for Oracle 10g R2 and above (when OPTIMIZER_FEATURES_ENABLE is also set to 10.2.0.1 or greater).  Overall, I am impressed with the effort that Tom put into revising the book.  The book almost reads like it was freshly written specifically for Oracle 11g R2 with differences for older releases indicated when they exist, rather than a rehash of a rehash of a book (Expert One on One Oracle).</p>
<p>I think that I found one or two other errors in the first 1/3 of the book &#8211; much better than many of the other books that I have reviewed.</p>
<p>One of the assumptions that this book seems to make is that most programmers who read the book will be writing code that will only access the Enterprise Edition of Oracle, and likely with a couple of extra-cost licensed items.  At least in the early portion of the book the author makes little effort to state &#8220;by the way, this will only work for some of the customers who use your programs&#8221; &#8211; I guess that is a pet peeve of mine.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sean Molloy</title>
		<link>http://hoopercharles.wordpress.com/2010/08/04/pga-memory-and-pga_aggregate_target-is-there-something-wrong-with-this-quote/#comment-1601</link>
		<dc:creator><![CDATA[Sean Molloy]]></dc:creator>
		<pubDate>Thu, 05 Aug 2010 14:11:23 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=2917#comment-1601</guid>
		<description><![CDATA[After reading Joze&#039;s slides, it seems the behaviour changed. In 91/ 10gr1: 
    Serial operations:         _smm_max_size = min(5% PGA_AGGREGATE_TARGET, 100MB)

10gr2:    Serial operations:       for P_A_T  1000 MB the parameter _smm_max_size = 10% of P_A_T (upper bound not limited?)
P_A_T = PGA_AGGREGATE_TARGET

&lt;em&gt;(comments were combined)&lt;/em&gt;
for P_A_T Less Than 500MB the parameter _smm_max_size = 20% of P_A_T
for P_A_T between 500MB and 1000MB the parameter _smm_max_size = 100M
for P_A_T Greater Than 1000 MB the parameter _smm_max_size = 10% of P_A_T (upper bound not limited?)
&lt;em&gt;(/comments were combined)&lt;/em&gt;

Your argument probably is that the first edition covered Oracle up to 10gr1 and was therefore correct.
The second edition is covering up to 11gr2 and the same explanation is no longer correct.]]></description>
		<content:encoded><![CDATA[<p>After reading Joze&#8217;s slides, it seems the behaviour changed. In 91/ 10gr1:<br />
    Serial operations:         _smm_max_size = min(5% PGA_AGGREGATE_TARGET, 100MB)</p>
<p>10gr2:    Serial operations:       for P_A_T  1000 MB the parameter _smm_max_size = 10% of P_A_T (upper bound not limited?)<br />
P_A_T = PGA_AGGREGATE_TARGET</p>
<p><em>(comments were combined)</em><br />
for P_A_T Less Than 500MB the parameter _smm_max_size = 20% of P_A_T<br />
for P_A_T between 500MB and 1000MB the parameter _smm_max_size = 100M<br />
for P_A_T Greater Than 1000 MB the parameter _smm_max_size = 10% of P_A_T (upper bound not limited?)<br />
<em>(/comments were combined)</em></p>
<p>Your argument probably is that the first edition covered Oracle up to 10gr1 and was therefore correct.<br />
The second edition is covering up to 11gr2 and the same explanation is no longer correct.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2010/08/04/pga-memory-and-pga_aggregate_target-is-there-something-wrong-with-this-quote/#comment-1600</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Thu, 05 Aug 2010 11:04:12 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=2917#comment-1600</guid>
		<description><![CDATA[Fahd,

I have not experimented very much with the MEMORY_TARGET parameter, other than as a solution to allow Oracle Database 11.2.0.1 to run on a netbook computer with 1GB of memory (the documentation states that Oracle Database 11.2.0.1 requires a minimum of 2GB of memory).  It appears that using MEMORY_TARGET is not possible on all operating system platforms, and I believe that it might have trouble working when large memory pages are used to help minimize the memory that is used by the operating system when managing individual memory pages.
http://download.oracle.com/docs/cd/E14072_01/server.112/e10839/tuning.htm#BABBJHAC
http://download.oracle.com/docs/cd/E14072_01/server.112/e10595/memory003.htm

Using MEMORY_TARGET might work, but I wonder what might happen if a run-away process causes the used memory to approach the MEMORY_TARGET value due to excessive use of PGA memory.  When the PGA_AGGREGATE_TARGET is reached (and MEMORY_TARGET is not set), Oracle Database will try to exceed that limit so that sessions generally do not crash when requesting PGA memory.  Sure, the server will probably become slow when the physical memory in the server is exhausted and swap file space is used extensively, but at least the database is &quot;up&quot;.  Would the same be true when MEMORY_TARGET is used, or would it appear that the database is &quot;down&quot; to certain sessions.  I guess that is just one more thing to stop and think about - MEMORY_TARGET might be the perfect solution for certain problems.

There are a lot of hidden parameters that can be watched to understand why certain things happen.  I think that it is important to not adjust those parameters manually, but rather to understand their purpose so that the non-hidden parameter that indirectly controls the hidden parameter may be adjusted, if necessary, to correct unexpected behavior.  The following link may be helpful:
http://www.jlcomp.demon.co.uk/untested.html

It is important to recognize that the limits for memory usage per sort/hash operation (_SMM_MAX_SIZE, for instance) apply to *each* of the concurrent sort/hash operations.  For example, this blog article shows a sort operation with two concurrent hash operations:
http://hoopercharles.wordpress.com/2010/01/18/pga-memory-the-developers-secret-weapon-for-stealing-all-of-the-memory-in-the-server/

As more and more memory is used, and the PGA_AGGREGATE_TARGET parameter&#039;s value is approached, the amount of memory that sessions will be able to use for each new concurrent sort/hash operation will decrease - what had previously completed as an optimal (in memory) execution 5 minutes ago may require either a single-pass (use of the temp tablespace) execution or a multi-pass execution to complete now - because now there is a greater demand for PGA memory.  When the PGA memory is no longer needed, it is returned.]]></description>
		<content:encoded><![CDATA[<p>Fahd,</p>
<p>I have not experimented very much with the MEMORY_TARGET parameter, other than as a solution to allow Oracle Database 11.2.0.1 to run on a netbook computer with 1GB of memory (the documentation states that Oracle Database 11.2.0.1 requires a minimum of 2GB of memory).  It appears that using MEMORY_TARGET is not possible on all operating system platforms, and I believe that it might have trouble working when large memory pages are used to help minimize the memory that is used by the operating system when managing individual memory pages.<br />
<a href="http://download.oracle.com/docs/cd/E14072_01/server.112/e10839/tuning.htm#BABBJHAC" rel="nofollow">http://download.oracle.com/docs/cd/E14072_01/server.112/e10839/tuning.htm#BABBJHAC</a><br />
<a href="http://download.oracle.com/docs/cd/E14072_01/server.112/e10595/memory003.htm" rel="nofollow">http://download.oracle.com/docs/cd/E14072_01/server.112/e10595/memory003.htm</a></p>
<p>Using MEMORY_TARGET might work, but I wonder what might happen if a run-away process causes the used memory to approach the MEMORY_TARGET value due to excessive use of PGA memory.  When the PGA_AGGREGATE_TARGET is reached (and MEMORY_TARGET is not set), Oracle Database will try to exceed that limit so that sessions generally do not crash when requesting PGA memory.  Sure, the server will probably become slow when the physical memory in the server is exhausted and swap file space is used extensively, but at least the database is &#8220;up&#8221;.  Would the same be true when MEMORY_TARGET is used, or would it appear that the database is &#8220;down&#8221; to certain sessions.  I guess that is just one more thing to stop and think about &#8211; MEMORY_TARGET might be the perfect solution for certain problems.</p>
<p>There are a lot of hidden parameters that can be watched to understand why certain things happen.  I think that it is important to not adjust those parameters manually, but rather to understand their purpose so that the non-hidden parameter that indirectly controls the hidden parameter may be adjusted, if necessary, to correct unexpected behavior.  The following link may be helpful:<br />
<a href="http://www.jlcomp.demon.co.uk/untested.html" rel="nofollow">http://www.jlcomp.demon.co.uk/untested.html</a></p>
<p>It is important to recognize that the limits for memory usage per sort/hash operation (_SMM_MAX_SIZE, for instance) apply to *each* of the concurrent sort/hash operations.  For example, this blog article shows a sort operation with two concurrent hash operations:<br />
<a href="http://hoopercharles.wordpress.com/2010/01/18/pga-memory-the-developers-secret-weapon-for-stealing-all-of-the-memory-in-the-server/" rel="nofollow">http://hoopercharles.wordpress.com/2010/01/18/pga-memory-the-developers-secret-weapon-for-stealing-all-of-the-memory-in-the-server/</a></p>
<p>As more and more memory is used, and the PGA_AGGREGATE_TARGET parameter&#8217;s value is approached, the amount of memory that sessions will be able to use for each new concurrent sort/hash operation will decrease &#8211; what had previously completed as an optimal (in memory) execution 5 minutes ago may require either a single-pass (use of the temp tablespace) execution or a multi-pass execution to complete now &#8211; because now there is a greater demand for PGA memory.  When the PGA memory is no longer needed, it is returned.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2010/08/04/pga-memory-and-pga_aggregate_target-is-there-something-wrong-with-this-quote/#comment-1599</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Thu, 05 Aug 2010 10:22:15 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=2917#comment-1599</guid>
		<description><![CDATA[Josh,

Very helpful link.  Slides 30 and 31 seem to describe why the quote in this blog article is correct in the first edition of the book.  Now the question, why might it not be correct for the second edition of the book?]]></description>
		<content:encoded><![CDATA[<p>Josh,</p>
<p>Very helpful link.  Slides 30 and 31 seem to describe why the quote in this blog article is correct in the first edition of the book.  Now the question, why might it not be correct for the second edition of the book?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: josh</title>
		<link>http://hoopercharles.wordpress.com/2010/08/04/pga-memory-and-pga_aggregate_target-is-there-something-wrong-with-this-quote/#comment-1598</link>
		<dc:creator><![CDATA[josh]]></dc:creator>
		<pubDate>Thu, 05 Aug 2010 08:57:54 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=2917#comment-1598</guid>
		<description><![CDATA[it depends on the few parameters check this paper from Joze Senegacnik
http://www.scribd.com/doc/6427605/Senegacnik-PGA-Memory-Management-Oracle9i-10g]]></description>
		<content:encoded><![CDATA[<p>it depends on the few parameters check this paper from Joze Senegacnik<br />
<a href="http://www.scribd.com/doc/6427605/Senegacnik-PGA-Memory-Management-Oracle9i-10g" rel="nofollow">http://www.scribd.com/doc/6427605/Senegacnik-PGA-Memory-Management-Oracle9i-10g</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fahd Mirza</title>
		<link>http://hoopercharles.wordpress.com/2010/08/04/pga-memory-and-pga_aggregate_target-is-there-something-wrong-with-this-quote/#comment-1596</link>
		<dc:creator><![CDATA[Fahd Mirza]]></dc:creator>
		<pubDate>Thu, 05 Aug 2010 06:33:20 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=2917#comment-1596</guid>
		<description><![CDATA[May be its naive, but I was hoping that for most systems, we can take a sigh of relief after setting memory_target in 11gR2. 

best regards

Fahd]]></description>
		<content:encoded><![CDATA[<p>May be its naive, but I was hoping that for most systems, we can take a sigh of relief after setting memory_target in 11gR2. </p>
<p>best regards</p>
<p>Fahd</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2010/08/04/pga-memory-and-pga_aggregate_target-is-there-something-wrong-with-this-quote/#comment-1595</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Thu, 05 Aug 2010 00:10:10 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=2917#comment-1595</guid>
		<description><![CDATA[Joel,

That is a good link - it contains a key piece of information.  It was similar information from my own testing (see the link attached to the period at the end of this article) that caused me to stop and create this blog article.  A couple of more related links:
http://forums.oracle.com/forums/thread.jspa?threadID=844027 (see Randolf&#039;s post)
http://books.google.com/books?id=pIcgos-wwy8C&amp;pg=PA17 (&quot;Secrets of the Oracle Database&quot; book)
http://books.google.com/books?id=TGSd3pkMx5IC&amp;pg=PA338 (&quot;Cost-Based Oracle Fundamentals&quot; book)
http://www.oramoss.com/presentations/fivetuningtipsforyourdatawarehouse.ppt (specifically slides 27 and 29)

One final clue: the statement is correct in the first edition of the book...]]></description>
		<content:encoded><![CDATA[<p>Joel,</p>
<p>That is a good link &#8211; it contains a key piece of information.  It was similar information from my own testing (see the link attached to the period at the end of this article) that caused me to stop and create this blog article.  A couple of more related links:<br />
<a href="http://forums.oracle.com/forums/thread.jspa?threadID=844027" rel="nofollow">http://forums.oracle.com/forums/thread.jspa?threadID=844027</a> (see Randolf&#8217;s post)<br />
<a href="http://books.google.com/books?id=pIcgos-wwy8C&#038;pg=PA17" rel="nofollow">http://books.google.com/books?id=pIcgos-wwy8C&#038;pg=PA17</a> (&#8220;Secrets of the Oracle Database&#8221; book)<br />
<a href="http://books.google.com/books?id=TGSd3pkMx5IC&#038;pg=PA338" rel="nofollow">http://books.google.com/books?id=TGSd3pkMx5IC&#038;pg=PA338</a> (&#8220;Cost-Based Oracle Fundamentals&#8221; book)<br />
<a href="http://www.oramoss.com/presentations/fivetuningtipsforyourdatawarehouse.ppt" rel="nofollow">http://www.oramoss.com/presentations/fivetuningtipsforyourdatawarehouse.ppt</a> (specifically slides 27 and 29)</p>
<p>One final clue: the statement is correct in the first edition of the book&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: joel garry</title>
		<link>http://hoopercharles.wordpress.com/2010/08/04/pga-memory-and-pga_aggregate_target-is-there-something-wrong-with-this-quote/#comment-1594</link>
		<dc:creator><![CDATA[joel garry]]></dc:creator>
		<pubDate>Wed, 04 Aug 2010 23:27:21 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=2917#comment-1594</guid>
		<description><![CDATA[http://christianbilien.wordpress.com/2007/05/01/two-useful-hidden-parameters-_smm_max_size-and-_pga_max-size/ mentions &quot; default value is the least of 5% of pga_aggregate_target and of 50% of _pga_max_size. A ceiling of 100MB also applies.&quot; though I haven&#039;t checked it and it may be a 9i thing.  Tom puts enough caveats in the context, on the surface it looks ok.  I long ago threw up my hands about pga_aggregate_target, it seemed more productive just to complain the docs are off and twiddle it until it works according to the advisor.  The &quot;variation of cache hit ratio with PGA target&quot; on that EM chart is a horizontal line on my system, as if anyone would care about a cache hit ratio.]]></description>
		<content:encoded><![CDATA[<p><a href="http://christianbilien.wordpress.com/2007/05/01/two-useful-hidden-parameters-_smm_max_size-and-_pga_max-size/" rel="nofollow">http://christianbilien.wordpress.com/2007/05/01/two-useful-hidden-parameters-_smm_max_size-and-_pga_max-size/</a> mentions &#8221; default value is the least of 5% of pga_aggregate_target and of 50% of _pga_max_size. A ceiling of 100MB also applies.&#8221; though I haven&#8217;t checked it and it may be a 9i thing.  Tom puts enough caveats in the context, on the surface it looks ok.  I long ago threw up my hands about pga_aggregate_target, it seemed more productive just to complain the docs are off and twiddle it until it works according to the advisor.  The &#8220;variation of cache hit ratio with PGA target&#8221; on that EM chart is a horizontal line on my system, as if anyone would care about a cache hit ratio.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
