<?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: SQL Profiles (10g)</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2007/02/11/profiles/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2007/02/11/profiles/</link>
	<description>Just another Oracle weblog</description>
	<lastBuildDate>Sat, 18 May 2013 11:04:10 +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/2007/02/11/profiles/#comment-46603</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Thu, 24 May 2012 10:49:28 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2007/02/11/profiles/#comment-46603</guid>
		<description><![CDATA[Mikhail,

Thanks for the update.
That&#039;s the problem with publishing comments on undocumented mechanisms - Oracle changes the mechanisms.
I&#039;ve also added a footnote to the article.]]></description>
		<content:encoded><![CDATA[<p>Mikhail,</p>
<p>Thanks for the update.<br />
That&#8217;s the problem with publishing comments on undocumented mechanisms &#8211; Oracle changes the mechanisms.<br />
I&#8217;ve also added a footnote to the article.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mikhail</title>
		<link>http://jonathanlewis.wordpress.com/2007/02/11/profiles/#comment-46390</link>
		<dc:creator><![CDATA[Mikhail]]></dc:creator>
		<pubDate>Fri, 11 May 2012 07:25:43 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2007/02/11/profiles/#comment-46390</guid>
		<description><![CDATA[Hello,

I have noticed that following query returns empty attr1 in my DB version 11.2.0.3.
attr5 contains actual hint. Just for information.
[code]
select rat.attr1
from
        wri$_adv_tasks     tsk,
        wri$_adv_rationale rat
where
        tsk.name = {sql tuning task name}
and     rat.task_id = tsk.id ;
[/code]

[code]
SQL&gt; select rat.attr1
  2  from
  3          sys.wri$_adv_tasks     tsk,
  4          sys.wri$_adv_rationale rat
  5  where
  6          tsk.name = &#039;TASK_1291&#039;
  7  and     rat.task_id = tsk.id ;

ATTR1
-----------------------------------------------------------------------------------------------------------------------------------------------------------


























25 rows selected.

Elapsed: 00:00:00.04
SQL&gt; 1 select rat.attr5
SQL&gt; r
  1  select rat.attr5
  2  from
  3          sys.wri$_adv_tasks     tsk,
  4          sys.wri$_adv_rationale rat
  5  where
  6          tsk.name = &#039;TASK_1291&#039;
  7* and     rat.task_id = tsk.id

ATTR5
-----------------------------------------------------------------------------------------------------------------------------------------------------------

OPT_ESTIMATE(@&quot;SEL$1&quot;, TABLE, &quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;@&quot;SEL$1&quot;, SCALE_ROWS=0.01028336274)
OPT_ESTIMATE(@&quot;SEL$1&quot;, TABLE, &quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;@&quot;SEL$1&quot;, SCALE_ROWS=0.01028336274)
OPT_ESTIMATE(@&quot;SEL$1&quot;, INDEX_SCAN, &quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;@&quot;SEL$1&quot;, &quot;I_STREAMS_APPLY_SPILL_MSGS_PT1&quot;, SCALE_ROWS=0.0005412296179)
OPT_ESTIMATE(@&quot;SEL$1&quot;, INDEX_SCAN, &quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;@&quot;SEL$1&quot;, &quot;I_STREAMS_APPLY_SPILL_MSGS_PT1&quot;, SCALE_ROWS=0.0005412296179)
OPT_ESTIMATE(@&quot;SEL$1&quot;, INDEX_SKIP_SCAN, &quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;@&quot;SEL$1&quot;, &quot;I_STREAMS_APPLY_SPILL_MSGS_PT1&quot;, SCALE_ROWS=0.01028336274)
OPT_ESTIMATE(@&quot;SEL$1&quot;, INDEX_SKIP_SCAN, &quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;@&quot;SEL$1&quot;, &quot;I_STREAMS_APPLY_SPILL_MSGS_PT1&quot;, SCALE_ROWS=0.01028336274)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;FLAGS&quot;, scale, length=2)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;FLAGS&quot;, scale, length=2)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;FLAGS2&quot;, scale, length=1)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;FLAGS2&quot;, scale, length=1)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;SEQUENCE&quot;, scale, length=3 distinct=10000 nulls=0 min=1 max=10000)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;SEQUENCE&quot;, scale, length=3 distinct=10000 nulls=0 min=1 max=10000)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;DESTQUEUE&quot;, scale, length=0)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;DESTQUEUE&quot;, scale, length=0)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;MESSAGE&quot;, scale, length=913)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;MESSAGE&quot;, scale, length=913)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;TXNKEY&quot;, scale, length=2 distinct=19 nulls=0 min=2 max=20)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;TXNKEY&quot;, scale, length=2 distinct=19 nulls=0 min=2 max=20)
TABLE_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, scale, blocks=28954 rows=182916.895)
TABLE_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, scale, blocks=28954 rows=182916.895)
IGNORE_OPTIM_EMBEDDED_HINTS
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE(&#039;8.1.7&#039;)
OPTIMIZER_FEATURES_ENABLE(&#039;8.1.7&#039;)

25 rows selected.

Elapsed: 00:00:00.14
SQL&gt; select banner from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE    11.2.0.3.0      Production
TNS for Solaris: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production

Elapsed: 00:00:00.62
[/code]]]></description>
		<content:encoded><![CDATA[<p>Hello,</p>
<p>I have noticed that following query returns empty attr1 in my DB version 11.2.0.3.<br />
attr5 contains actual hint. Just for information.</p>
<pre class="brush: plain; title: ; notranslate">
select rat.attr1
from
        wri$_adv_tasks     tsk,
        wri$_adv_rationale rat
where
        tsk.name = {sql tuning task name}
and     rat.task_id = tsk.id ;
</pre>
<pre class="brush: plain; title: ; notranslate">
SQL&gt; select rat.attr1
  2  from
  3          sys.wri$_adv_tasks     tsk,
  4          sys.wri$_adv_rationale rat
  5  where
  6          tsk.name = 'TASK_1291'
  7  and     rat.task_id = tsk.id ;

ATTR1
-----------------------------------------------------------------------------------------------------------------------------------------------------------


























25 rows selected.

Elapsed: 00:00:00.04
SQL&gt; 1 select rat.attr5
SQL&gt; r
  1  select rat.attr5
  2  from
  3          sys.wri$_adv_tasks     tsk,
  4          sys.wri$_adv_rationale rat
  5  where
  6          tsk.name = 'TASK_1291'
  7* and     rat.task_id = tsk.id

ATTR5
-----------------------------------------------------------------------------------------------------------------------------------------------------------

OPT_ESTIMATE(@&quot;SEL$1&quot;, TABLE, &quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;@&quot;SEL$1&quot;, SCALE_ROWS=0.01028336274)
OPT_ESTIMATE(@&quot;SEL$1&quot;, TABLE, &quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;@&quot;SEL$1&quot;, SCALE_ROWS=0.01028336274)
OPT_ESTIMATE(@&quot;SEL$1&quot;, INDEX_SCAN, &quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;@&quot;SEL$1&quot;, &quot;I_STREAMS_APPLY_SPILL_MSGS_PT1&quot;, SCALE_ROWS=0.0005412296179)
OPT_ESTIMATE(@&quot;SEL$1&quot;, INDEX_SCAN, &quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;@&quot;SEL$1&quot;, &quot;I_STREAMS_APPLY_SPILL_MSGS_PT1&quot;, SCALE_ROWS=0.0005412296179)
OPT_ESTIMATE(@&quot;SEL$1&quot;, INDEX_SKIP_SCAN, &quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;@&quot;SEL$1&quot;, &quot;I_STREAMS_APPLY_SPILL_MSGS_PT1&quot;, SCALE_ROWS=0.01028336274)
OPT_ESTIMATE(@&quot;SEL$1&quot;, INDEX_SKIP_SCAN, &quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;@&quot;SEL$1&quot;, &quot;I_STREAMS_APPLY_SPILL_MSGS_PT1&quot;, SCALE_ROWS=0.01028336274)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;FLAGS&quot;, scale, length=2)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;FLAGS&quot;, scale, length=2)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;FLAGS2&quot;, scale, length=1)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;FLAGS2&quot;, scale, length=1)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;SEQUENCE&quot;, scale, length=3 distinct=10000 nulls=0 min=1 max=10000)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;SEQUENCE&quot;, scale, length=3 distinct=10000 nulls=0 min=1 max=10000)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;DESTQUEUE&quot;, scale, length=0)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;DESTQUEUE&quot;, scale, length=0)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;MESSAGE&quot;, scale, length=913)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;MESSAGE&quot;, scale, length=913)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;TXNKEY&quot;, scale, length=2 distinct=19 nulls=0 min=2 max=20)
COLUMN_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, &quot;TXNKEY&quot;, scale, length=2 distinct=19 nulls=0 min=2 max=20)
TABLE_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, scale, blocks=28954 rows=182916.895)
TABLE_STATS(&quot;SYS&quot;.&quot;STREAMS$_APPLY_SPILL_MSGS_PART&quot;, scale, blocks=28954 rows=182916.895)
IGNORE_OPTIM_EMBEDDED_HINTS
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE('8.1.7')
OPTIMIZER_FEATURES_ENABLE('8.1.7')

25 rows selected.

Elapsed: 00:00:00.14
SQL&gt; select banner from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE    11.2.0.3.0      Production
TNS for Solaris: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production

Elapsed: 00:00:00.62
</pre>
]]></content:encoded>
	</item>
	<item>
		<title>By: Plan Stability using Sql Profiles and SQL Plan Management&#160;&#124;&#160;AskDba.org Weblog</title>
		<link>http://jonathanlewis.wordpress.com/2007/02/11/profiles/#comment-43387</link>
		<dc:creator><![CDATA[Plan Stability using Sql Profiles and SQL Plan Management&#160;&#124;&#160;AskDba.org Weblog]]></dc:creator>
		<pubDate>Tue, 20 Dec 2011 05:45:49 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2007/02/11/profiles/#comment-43387</guid>
		<description><![CDATA[[...] As per Jonathan Lewis post, [...]]]></description>
		<content:encoded><![CDATA[<p>[...] As per Jonathan Lewis post, [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: True or False &#8211; Optimizer Mode and Tuning Goals &#171; Charles Hooper&#039;s Oracle Notes</title>
		<link>http://jonathanlewis.wordpress.com/2007/02/11/profiles/#comment-36205</link>
		<dc:creator><![CDATA[True or False &#8211; Optimizer Mode and Tuning Goals &#171; Charles Hooper&#039;s Oracle Notes]]></dc:creator>
		<pubDate>Thu, 13 May 2010 06:02:07 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2007/02/11/profiles/#comment-36205</guid>
		<description><![CDATA[[...] http://jonathanlewis.wordpress.com/2007/02/11/profiles/ [...]]]></description>
		<content:encoded><![CDATA[<p>[...] <a href="http://jonathanlewis.wordpress.com/2007/02/11/profiles/" rel="nofollow">http://jonathanlewis.wordpress.com/2007/02/11/profiles/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Viewing Figures &#171; Oracle Scratchpad</title>
		<link>http://jonathanlewis.wordpress.com/2007/02/11/profiles/#comment-36069</link>
		<dc:creator><![CDATA[Viewing Figures &#171; Oracle Scratchpad]]></dc:creator>
		<pubDate>Tue, 20 Apr 2010 18:39:52 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2007/02/11/profiles/#comment-36069</guid>
		<description><![CDATA[[...] SQL Profiles (10g) [...]]]></description>
		<content:encoded><![CDATA[<p>[...] SQL Profiles (10g) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Summary Stats &#171; Oracle Scratchpad</title>
		<link>http://jonathanlewis.wordpress.com/2007/02/11/profiles/#comment-32856</link>
		<dc:creator><![CDATA[Summary Stats &#171; Oracle Scratchpad]]></dc:creator>
		<pubDate>Mon, 27 Apr 2009 19:05:03 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2007/02/11/profiles/#comment-32856</guid>
		<description><![CDATA[[...] SQL Profiles (10g) [...]]]></description>
		<content:encoded><![CDATA[<p>[...] SQL Profiles (10g) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2007/02/11/profiles/#comment-32171</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Thu, 30 Oct 2008 07:57:15 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2007/02/11/profiles/#comment-32171</guid>
		<description><![CDATA[Chris,

If you enable sql_trace (or 10046 at level 4 in particular) you will see that for each index Oracle checks the number of bytes in dba_segments.  This will always return null (which is nvl()ed to zero) for the no_segment indexes. It is probably this check that makes the tuning task ignore such indexes.  

Bear in mind, the tuning task code knows about no_segment indexes, because one of its internal mechanism is to &quot;create&quot; such indexes anyway.]]></description>
		<content:encoded><![CDATA[<p>Chris,</p>
<p>If you enable sql_trace (or 10046 at level 4 in particular) you will see that for each index Oracle checks the number of bytes in dba_segments.  This will always return null (which is nvl()ed to zero) for the no_segment indexes. It is probably this check that makes the tuning task ignore such indexes.  </p>
<p>Bear in mind, the tuning task code knows about no_segment indexes, because one of its internal mechanism is to &#8220;create&#8221; such indexes anyway.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://jonathanlewis.wordpress.com/2007/02/11/profiles/#comment-32168</link>
		<dc:creator><![CDATA[Chris]]></dc:creator>
		<pubDate>Thu, 30 Oct 2008 03:26:22 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2007/02/11/profiles/#comment-32168</guid>
		<description><![CDATA[Hi Jonathan,

I have been performing some tuning using dbms_sqltune. Several recommendations have come back for the use of a SQL Profile as well as additional indexes. As some of the tables are rather large I was trying to create the suggested indexes using the nosegment parameter and specifying the _use_nosegment_indexes session level parameter and manually running dbms_sqltune again. Unfortunately all attempts fail to pick up the nosegment indexes. Is this normal or is there a way I can get dbms_sqltune to consider the nosegment index? I have used dbms_stats.gather_index_stats but this has not helped. 

Your response would be much appreciated.]]></description>
		<content:encoded><![CDATA[<p>Hi Jonathan,</p>
<p>I have been performing some tuning using dbms_sqltune. Several recommendations have come back for the use of a SQL Profile as well as additional indexes. As some of the tables are rather large I was trying to create the suggested indexes using the nosegment parameter and specifying the _use_nosegment_indexes session level parameter and manually running dbms_sqltune again. Unfortunately all attempts fail to pick up the nosegment indexes. Is this normal or is there a way I can get dbms_sqltune to consider the nosegment index? I have used dbms_stats.gather_index_stats but this has not helped. </p>
<p>Your response would be much appreciated.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2007/02/11/profiles/#comment-31898</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Fri, 26 Sep 2008 13:50:57 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2007/02/11/profiles/#comment-31898</guid>
		<description><![CDATA[Kerry,

Thanks for the pingback, and the note.

SQL Profiles and Outlines are ways of addressing two different problems - the profiles help if the data ratios are going stay constant of time, regardless of data volume; the outlines help if a specific execution path is always going to be a good idea as time passes, regardless of how the data ratios change.  So each has its purpose.

I like your idea, though, of treating both as a temporary measure, and using an SQL profile as a quick way of getting to an outline that keep you going for a while.

In passing, outlines are deprecated in 11g - presumably because the technology is just a subset of the SQL Plan Management (SPM) technology.]]></description>
		<content:encoded><![CDATA[<p>Kerry,</p>
<p>Thanks for the pingback, and the note.</p>
<p>SQL Profiles and Outlines are ways of addressing two different problems &#8211; the profiles help if the data ratios are going stay constant of time, regardless of data volume; the outlines help if a specific execution path is always going to be a good idea as time passes, regardless of how the data ratios change.  So each has its purpose.</p>
<p>I like your idea, though, of treating both as a temporary measure, and using an SQL profile as a quick way of getting to an outline that keep you going for a while.</p>
<p>In passing, outlines are deprecated in 11g &#8211; presumably because the technology is just a subset of the SQL Plan Management (SPM) technology.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kerry Osborne</title>
		<link>http://jonathanlewis.wordpress.com/2007/02/11/profiles/#comment-31878</link>
		<dc:creator><![CDATA[Kerry Osborne]]></dc:creator>
		<pubDate>Wed, 24 Sep 2008 14:17:12 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2007/02/11/profiles/#comment-31878</guid>
		<description><![CDATA[Jonathan,

  Great info as always. One of the things that I have noticed is that sql profiles can and do &quot;sour&quot; over time (as mentioned by Alex). Since they do most of their work by applying scaling factors via the opt_estimate hint, when things change (statistics for example) the scaling factors can end up being way off. I&#039;ve had some success using a profile to get the optimizer to do what it should and then creating an outline for the statement to lock it (while I try to figure out why it went wrong in the first place).  

  Also, I have been experimenting with setting up a blog and we have installed wordpress on one of our servers to play with. Wordpress is pretty smart and it automatically created the pingpack entry above. I didn&#039;t know it would do that - pretty cool! Although it was totally unintentional as we aren&#039;t even sure that&#039;s where it will live yet. I guess everything really is easy if you don&#039;t know what you&#039;re doing. Anyway, keep up the great work.]]></description>
		<content:encoded><![CDATA[<p>Jonathan,</p>
<p>  Great info as always. One of the things that I have noticed is that sql profiles can and do &#8220;sour&#8221; over time (as mentioned by Alex). Since they do most of their work by applying scaling factors via the opt_estimate hint, when things change (statistics for example) the scaling factors can end up being way off. I&#8217;ve had some success using a profile to get the optimizer to do what it should and then creating an outline for the statement to lock it (while I try to figure out why it went wrong in the first place).  </p>
<p>  Also, I have been experimenting with setting up a blog and we have installed wordpress on one of our servers to play with. WordPress is pretty smart and it automatically created the pingpack entry above. I didn&#8217;t know it would do that &#8211; pretty cool! Although it was totally unintentional as we aren&#8217;t even sure that&#8217;s where it will live yet. I guess everything really is easy if you don&#8217;t know what you&#8217;re doing. Anyway, keep up the great work.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
