<?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: Rule Rules</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2010/04/13/rule-rules/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2010/04/13/rule-rules/</link>
	<description>Just another Oracle weblog</description>
	<lastBuildDate>Mon, 20 May 2013 17:10:14 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Israel</title>
		<link>http://jonathanlewis.wordpress.com/2010/04/13/rule-rules/#comment-55568</link>
		<dc:creator><![CDATA[Israel]]></dc:creator>
		<pubDate>Tue, 14 May 2013 20:18:41 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3492#comment-55568</guid>
		<description><![CDATA[Did you got any resolution on this issue from Oracle?]]></description>
		<content:encoded><![CDATA[<p>Did you got any resolution on this issue from Oracle?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Log Buffer #185, a Carnival of the Vanities for DBAs</title>
		<link>http://jonathanlewis.wordpress.com/2010/04/13/rule-rules/#comment-53509</link>
		<dc:creator><![CDATA[Log Buffer #185, a Carnival of the Vanities for DBAs]]></dc:creator>
		<pubDate>Wed, 13 Feb 2013 16:39:00 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3492#comment-53509</guid>
		<description><![CDATA[[...] also shows how Oracle uses the /*+ rule */ hint in some internal views &#8211; and everyone knows you should never do [...]]]></description>
		<content:encoded><![CDATA[<p>[...] also shows how Oracle uses the /*+ rule */ hint in some internal views &#8211; and everyone knows you should never do [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Owen Ireland</title>
		<link>http://jonathanlewis.wordpress.com/2010/04/13/rule-rules/#comment-36048</link>
		<dc:creator><![CDATA[Owen Ireland]]></dc:creator>
		<pubDate>Thu, 15 Apr 2010 16:40:29 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3492#comment-36048</guid>
		<description><![CDATA[As the person who Jonathan spoke to a few weeks ago I&#039;d just like to point out a few things. 

1) Although v$datafile itself doesn&#039;t have the rule hint in it, it is itself a view on gv$datafile so you still get a rule based plan. 

SQL&gt; select view_definition from v$fixed_view_definition where view_name like &#039;V$DATAFILE&#039;;

VIEW_DEFINITION
--------------------------------------------------------------------------------
select  ...  from GV$DATAFILE where inst_id = USERENV(&#039;Instance&#039;)

(columns removed for brevity) 

2) The patch for bug 5251842 isn&#039;t in the PSUs for the non-Windows platforms.  On our platform Linux x86-64 it&#039;s not even included in 10.2.0.4.3.  It is available as a one-off patch though, so many thanks to Michael for that. 

3) The all_rows hint makes the difference between 3 seconds and 3 hours on our largest database which has 11,000 datafiles !  

3) I am sure this bug is to blame for our standby database taking hours to decide which logs to obtain when performing gap resolution. It must internally use v$archive_gap. When I apply the patch for bug 5251842 I&#039;ll let you know.

4) My E-mail was blogged with my full permission to Jonathan in the interests of making the Oracle community aware of this issue.]]></description>
		<content:encoded><![CDATA[<p>As the person who Jonathan spoke to a few weeks ago I&#8217;d just like to point out a few things. </p>
<p>1) Although v$datafile itself doesn&#8217;t have the rule hint in it, it is itself a view on gv$datafile so you still get a rule based plan. </p>
<p>SQL&gt; select view_definition from v$fixed_view_definition where view_name like &#8216;V$DATAFILE&#8217;;</p>
<p>VIEW_DEFINITION<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
select  &#8230;  from GV$DATAFILE where inst_id = USERENV(&#8216;Instance&#8217;)</p>
<p>(columns removed for brevity) </p>
<p>2) The patch for bug 5251842 isn&#8217;t in the PSUs for the non-Windows platforms.  On our platform Linux x86-64 it&#8217;s not even included in 10.2.0.4.3.  It is available as a one-off patch though, so many thanks to Michael for that. </p>
<p>3) The all_rows hint makes the difference between 3 seconds and 3 hours on our largest database which has 11,000 datafiles !  </p>
<p>3) I am sure this bug is to blame for our standby database taking hours to decide which logs to obtain when performing gap resolution. It must internally use v$archive_gap. When I apply the patch for bug 5251842 I&#8217;ll let you know.</p>
<p>4) My E-mail was blogged with my full permission to Jonathan in the interests of making the Oracle community aware of this issue.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Timur Akhmadeev</title>
		<link>http://jonathanlewis.wordpress.com/2010/04/13/rule-rules/#comment-36046</link>
		<dc:creator><![CDATA[Timur Akhmadeev]]></dc:creator>
		<pubDate>Thu, 15 Apr 2010 08:59:17 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3492#comment-36046</guid>
		<description><![CDATA[Oracle can include base step in recursion which will stop it. I mean, incorporate RBO to CBO for data dictionary queries. Since it hasn&#039;t been done for years, I suspect it isn&#039;t an easy task.]]></description>
		<content:encoded><![CDATA[<p>Oracle can include base step in recursion which will stop it. I mean, incorporate RBO to CBO for data dictionary queries. Since it hasn&#8217;t been done for years, I suspect it isn&#8217;t an easy task.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcus Moennig</title>
		<link>http://jonathanlewis.wordpress.com/2010/04/13/rule-rules/#comment-36040</link>
		<dc:creator><![CDATA[Marcus Moennig]]></dc:creator>
		<pubDate>Wed, 14 Apr 2010 20:27:34 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3492#comment-36040</guid>
		<description><![CDATA[Jonathan,

that makes very much sense. And it puts the &quot;deprecated&quot; status of the RBO into perspective.]]></description>
		<content:encoded><![CDATA[<p>Jonathan,</p>
<p>that makes very much sense. And it puts the &#8220;deprecated&#8221; status of the RBO into perspective.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Timur Akhmadeev</title>
		<link>http://jonathanlewis.wordpress.com/2010/04/13/rule-rules/#comment-36037</link>
		<dc:creator><![CDATA[Timur Akhmadeev]]></dc:creator>
		<pubDate>Wed, 14 Apr 2010 13:43:38 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3492#comment-36037</guid>
		<description><![CDATA[That&#039;s why bundled patches are &lt;a href=&quot;https://supporthtml.oracle.com/ep/faces/secure/km/DocumentDisplay.jspx?id=161549.1&quot; rel=&quot;nofollow&quot;&gt;recommended&lt;/a&gt;:
&gt;From 10.2.0.4 onwards each Windows bundled patch goes through full regression testing because it includes a large number of dependent fixes, CPU, DST and PSU. Oracle recommends all customers apply the latest bundle as soon as it is convenient irrespective of encountering a specific problem resolved by the bundle.

This particular bug was fixed in P5.]]></description>
		<content:encoded><![CDATA[<p>That&#8217;s why bundled patches are <a href="https://supporthtml.oracle.com/ep/faces/secure/km/DocumentDisplay.jspx?id=161549.1" rel="nofollow">recommended</a>:<br />
&gt;From 10.2.0.4 onwards each Windows bundled patch goes through full regression testing because it includes a large number of dependent fixes, CPU, DST and PSU. Oracle recommends all customers apply the latest bundle as soon as it is convenient irrespective of encountering a specific problem resolved by the bundle.</p>
<p>This particular bug was fixed in P5.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Asif Momen</title>
		<link>http://jonathanlewis.wordpress.com/2010/04/13/rule-rules/#comment-36035</link>
		<dc:creator><![CDATA[Asif Momen]]></dc:creator>
		<pubDate>Wed, 14 Apr 2010 12:09:24 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3492#comment-36035</guid>
		<description><![CDATA[Timur,

On a contrary, I see one view in my 10.2.0.4 (32-bit WinXP) database.

SQL&gt; select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
PL/SQL Release 10.2.0.4.0 - Production
CORE    10.2.0.4.0      Production
TNS for 32-bit Windows: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production

SQL&gt;
SQL&gt;
SQL&gt; select view_name from v$fixed_view_definition where lower(view_definition) like  &#039;%/*+%rule%*/%&#039;;

VIEW_NAME
------------------------------
GV$DATAFILE

SQL&gt;]]></description>
		<content:encoded><![CDATA[<p>Timur,</p>
<p>On a contrary, I see one view in my 10.2.0.4 (32-bit WinXP) database.</p>
<p>SQL&gt; select * from v$version;</p>
<p>BANNER<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 &#8211; Prod<br />
PL/SQL Release 10.2.0.4.0 &#8211; Production<br />
CORE    10.2.0.4.0      Production<br />
TNS for 32-bit Windows: Version 10.2.0.4.0 &#8211; Production<br />
NLSRTL Version 10.2.0.4.0 &#8211; Production</p>
<p>SQL&gt;<br />
SQL&gt;<br />
SQL&gt; select view_name from v$fixed_view_definition where lower(view_definition) like  &#8216;%/*+%rule%*/%&#8217;;</p>
<p>VIEW_NAME<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
GV$DATAFILE</p>
<p>SQL&gt;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2010/04/13/rule-rules/#comment-36034</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Wed, 14 Apr 2010 10:53:48 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3492#comment-36034</guid>
		<description><![CDATA[Marcus,

That&#039;s the problem of recursion: to optimize a statement you need to read data about the objects from the data dictionary - which means you have to query the data dictionary - which means you have to optimize the statements that query the data dictionary ... but you can&#039;t optimize the data dictionary queries until you&#039;ve read the data dictionary information that defines the data dictionary.]]></description>
		<content:encoded><![CDATA[<p>Marcus,</p>
<p>That&#8217;s the problem of recursion: to optimize a statement you need to read data about the objects from the data dictionary &#8211; which means you have to query the data dictionary &#8211; which means you have to optimize the statements that query the data dictionary &#8230; but you can&#8217;t optimize the data dictionary queries until you&#8217;ve read the data dictionary information that defines the data dictionary.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcus Mönnig</title>
		<link>http://jonathanlewis.wordpress.com/2010/04/13/rule-rules/#comment-36033</link>
		<dc:creator><![CDATA[Marcus Mönnig]]></dc:creator>
		<pubDate>Wed, 14 Apr 2010 10:29:01 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3492#comment-36033</guid>
		<description><![CDATA[The optmizer doesn&#039;t seem to trust itself though... ;-)

select parsing_schema_name,sql_text from v$SQL where SQL_TEXT like  &#039;%/*+%rule%*/%&#039;;]]></description>
		<content:encoded><![CDATA[<p>The optmizer doesn&#8217;t seem to trust itself though&#8230; ;-)</p>
<p>select parsing_schema_name,sql_text from v$SQL where SQL_TEXT like  &#8216;%/*+%rule%*/%&#8217;;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2010/04/13/rule-rules/#comment-36027</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Tue, 13 Apr 2010 20:37:14 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3492#comment-36027</guid>
		<description><![CDATA[Michael,

Thanks for the reference.]]></description>
		<content:encoded><![CDATA[<p>Michael,</p>
<p>Thanks for the reference.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
