<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ora-solutions.net - Martin Decker &#187; 11g</title>
	<atom:link href="http://www.ora-solutions.net/web/category/oracle-database/11g/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ora-solutions.net/web</link>
	<description>Indepented Oracle consultant</description>
	<lastBuildDate>Wed, 25 Jan 2012 14:04:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Oracle SCN Problem</title>
		<link>http://www.ora-solutions.net/web/2012/01/19/oracle-scn-problem/</link>
		<comments>http://www.ora-solutions.net/web/2012/01/19/oracle-scn-problem/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 21:56:52 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[10g]]></category>
		<category><![CDATA[11g]]></category>
		<category><![CDATA[Bugs]]></category>
		<category><![CDATA[Oracle Database]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=1125</guid>
		<description><![CDATA[In case you have not heard all the buzz about the Oracle SCN flaw, which was published by Infoworld after the release of January CPU, I summarize the essentials. There is a risk that the SCN reaches it´s maximum value and this could lead to an outage of the database. There is a bug in [...]]]></description>
			<content:encoded><![CDATA[<p>In case you have not heard all the buzz about the Oracle SCN flaw, which was published by <a href="http://www.infoworld.com/d/security/fundamental-oracle-flaw-revealed-184163-0">Infoworld</a> after the release of January CPU, I summarize the essentials.</p>
<ul>
<li>There is a risk that the SCN reaches it´s maximum value and this could lead to an outage of the database.</li>
<li>There is a bug in &#8220;ALTER DATABASE BEGIN BACKUP&#8221;, which increases the SCN dramatically. (Bug 12371955 &#8211; fixed in 11.2.0.2.4 and others)</li>
<li>When you query a remote database via database link from a database with elevated SCN, the remote SCN gets increased to the higher value as well. This has the dramatic effect, that a database will infect the other database.</li>
<li>Imagine an unpatched environment with user-managed online backups (e.g. for SAN split mirror technology) and dozens of interconnected databases with database links.</li>
<li>Now imagine an evil employee with this little innocent database account with only &#8220;create session&#8221; privilege  &#8230; you get the picture.</li>
<li>The January 2012 CPU/PSU contains a patch that should restrict the ways to increase the SCN. However, I am not sure that the issue with db links is solved. I could bump up the SCN to 12562779343042 by a remote select even after patching with CPU January 2012.</li>
</ul>
<p>Additionally, there are already quite a few articles showing how a potential attacker could use this flaw, e.g. <a href="http://www.gokhanatil.com/2012/01/fundamental-oracle-flaw-revealed-lets.html ">this one.</a></p>
<p>References:</p>
<ul>
<li><span style="font-family: helvetica;">Information on the System Change Number (SCN) and how it is used in the Oracle Database [ID 1376995.1]</span></li>
<li><span style="font-family: helvetica;">Installing, Executing and Interpreting output from the &#8220;scnhealthcheck.sql&#8221; script [ID 1393363.1]</span></li>
<li><span style="font-family: helvetica;">Bug 12371955 &#8211; Backup task can cause increased SCN growth rate leading to ORA-600 [2252] errors [ID 12371955.8]<strong><br />
</strong></span></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2012/01/19/oracle-scn-problem/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Presentation &#8220;Minimal Downtime Oracle 11g Upgrade&#8221; at DOAG Conference 2010</title>
		<link>http://www.ora-solutions.net/web/2010/11/17/presentation-minimal-downtime-oracle-11g-upgrade-at-doag-conference-2010/</link>
		<comments>http://www.ora-solutions.net/web/2010/11/17/presentation-minimal-downtime-oracle-11g-upgrade-at-doag-conference-2010/#comments</comments>
		<pubDate>Wed, 17 Nov 2010 21:47:16 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[10g]]></category>
		<category><![CDATA[11g]]></category>
		<category><![CDATA[Oracle Database]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=989</guid>
		<description><![CDATA[I have uploaded the presentation material from my DOAG Conference presentation on &#8220;Minimal Downtime Oracle 11g Upgrade&#8221;. The material contains a paper, presentation and an online demo which shows how Logical Standby SQL Apply can be used for minimal downtime 10g to 11g Upgrade. Additionally, for convenience, i provide all 3 components in a ZIP [...]]]></description>
			<content:encoded><![CDATA[<p>I have uploaded the presentation material from my DOAG Conference presentation on &#8220;Minimal Downtime Oracle 11g Upgrade&#8221;. The material contains a paper, presentation and an online demo which shows how Logical Standby SQL Apply can be used for minimal downtime 10g to 11g Upgrade. Additionally, for convenience, i provide all 3 components in a ZIP package.</p>
<p>DOAG Conference 2010: <strong>Minimal Downtime Oracle 11g Upgrades</strong></p>
<ul>
<li><a class="downloadlink" href="http://www.ora-solutions.net/web/wp-content/plugins/download-monitor/download.php?id=29" title="Version 1.0 downloaded 1639 times" >Minimal Downtime Oracle 11g Upgrades - Paper</a> (german)</li>
<li><a class="downloadlink" href="http://www.ora-solutions.net/web/wp-content/plugins/download-monitor/download.php?id=30" title=" downloaded 826 times" >Minimal Downtime Oracle 11g Upgrades - Presentation</a> (german)</li>
<li><b><a href="/demos/minimal_downtime_upgrade/" target="_blank">Minimal Downtime Oracle 11g Upgrades &#8211; Online Demo: Upgrade via SQL Apply</a></b></li>
<li><a class="downloadlink" href="http://www.ora-solutions.net/web/wp-content/plugins/download-monitor/download.php?id=31" title=" downloaded 491 times" >Minimal Downtime Oracle 11g Upgrades - (Paper, Presentation, Demo)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2010/11/17/presentation-minimal-downtime-oracle-11g-upgrade-at-doag-conference-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Advert: Presentation about Minimal Downtime Upgrade at DOAG Conference 2010</title>
		<link>http://www.ora-solutions.net/web/2010/11/03/advert-presentation-about-minimal-downtime-upgrade-at-doag-conference-2010/</link>
		<comments>http://www.ora-solutions.net/web/2010/11/03/advert-presentation-about-minimal-downtime-upgrade-at-doag-conference-2010/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 13:59:44 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[11g]]></category>
		<category><![CDATA[11gR2]]></category>
		<category><![CDATA[Oracle Database]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=939</guid>
		<description><![CDATA[Just a short information:  I will be holding a presentation at DOAG Conference 2010 in Nürnberg about &#8220;Minimal Downtime Oracle Database 11g Upgrades&#8220;. The presentation will be on Tuesday, 16.11.2010 at 10:00. The presentation will be in german. This is a short preview in german: Nachdem der Premier Support für das Datenbank-Release 10gR2 im Juli [...]]]></description>
			<content:encoded><![CDATA[<p>Just a short information:  I will be holding a presentation at DOAG Conference 2010 in Nürnberg about &#8220;<a href="http://mydoag.doag.org/konferenz/vortrag_details.php?tag=16.11.2010&amp;id=409866">Minimal Downtime Oracle Database 11g Upgrades</a>&#8220;. The presentation will be on Tuesday, 16.11.2010 at 10:00. The presentation will be in german. This is a short preview in german:</p>
<blockquote><p>Nachdem der Premier Support für das Datenbank-Release 10gR2 im Juli 2010 endet und nur das erste Jahr des Extended Supports kostenfrei ist, stehen viele Kunden vor dem Problem des Upgrades von Oracle 10g nach 11gR1 oder 11gR2 bis spätestens Juli 2011. Dieser Vortrag zeigt Möglichkeiten, den Oracle-Upgrade mittels Logical Standby sowie mittels Transportable Tablespaces mit minimaler Downtime durchzuführen. Es wird aufgezeigt, welche Voraussetzungen für die beiden Alternativen jeweils benötigt werden sowie die potentiellen Probleme bei der Durchführung. Der Vortrag enthält zudem einen praktischen Teil, bei dem die beiden Varianten demonstriert werden.</p></blockquote>
<p>You can find the presentation materials (including online demo) on the presentations page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2010/11/03/advert-presentation-about-minimal-downtime-upgrade-at-doag-conference-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>suboptimal prorated density calculation with DESC index &#8211; cardinality feedback feature</title>
		<link>http://www.ora-solutions.net/web/2010/10/25/suboptimal-prorated-density-calculation-with-desc-index-cardinality-feedback-feature/</link>
		<comments>http://www.ora-solutions.net/web/2010/10/25/suboptimal-prorated-density-calculation-with-desc-index-cardinality-feedback-feature/#comments</comments>
		<pubDate>Mon, 25 Oct 2010 19:53:38 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[11g]]></category>
		<category><![CDATA[11gR2]]></category>
		<category><![CDATA[Bugs]]></category>
		<category><![CDATA[MetaLink]]></category>
		<category><![CDATA[Oracle Database]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=899</guid>
		<description><![CDATA[At a customer site, I came across a problem of the Oracle cost based optimizer with selectivity calculation with a composite index with one column sorted descending. The following testcase describes the issue. Currently Oracle development is working on the issue. During testing on 11.2.0.1, I realized that the new cardinality feedback issue takes care [...]]]></description>
			<content:encoded><![CDATA[<p>At a customer site, I came across a problem of the Oracle cost based optimizer with selectivity calculation with a composite index with one column sorted descending. The following testcase describes the issue. Currently Oracle development is working on the issue. During testing on 11.2.0.1, I realized that the new cardinality feedback issue takes care of the problem and subsequent executions are using the correct plan.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">-- drop table if exists</span>
<span style="color: #993333; font-weight: bold;">DROP</span> <span style="color: #993333; font-weight: bold;">TABLE</span> ADMDECKER<span style="color: #66cc66;">.</span>DUMMY purge;
&nbsp;
<span style="color: #808080; font-style: italic;">-- create table</span>
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> ADMDECKER<span style="color: #66cc66;">.</span>DUMMY <span style="color: #66cc66;">&#40;</span>
      a number <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
      B number <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
      C number <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
      D number <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
      E number <span style="color: #66cc66;">&#41;</span> NOLOGGING;
&nbsp;
<span style="color: #808080; font-style: italic;">-- fill table</span>
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #808080; font-style: italic;">/*+ APPEND */</span>  <span style="color: #993333; font-weight: bold;">INTO</span> ADMDECKER<span style="color: #66cc66;">.</span>DUMMY
<span style="color: #993333; font-weight: bold;">SELECT</span>  rownum <span style="color: #993333; font-weight: bold;">AS</span> a<span style="color: #66cc66;">,</span>
        MOD<span style="color: #66cc66;">&#40;</span>rownum<span style="color: #66cc66;">,</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> B<span style="color: #66cc66;">,</span>
        MOD<span style="color: #66cc66;">&#40;</span>rownum<span style="color: #66cc66;">,</span><span style="color: #cc66cc;">10000</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> C<span style="color: #66cc66;">,</span>
        <span style="color: #cc66cc;">1</span> <span style="color: #993333; font-weight: bold;">AS</span> D<span style="color: #66cc66;">,</span>
        <span style="color: #cc66cc;">234</span> <span style="color: #993333; font-weight: bold;">AS</span> E
        <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #66cc66;">&#40;</span>
               <span style="color: #993333; font-weight: bold;">SELECT</span> rownum r
               <span style="color: #993333; font-weight: bold;">FROM</span>
                       <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> rownum r <span style="color: #993333; font-weight: bold;">FROM</span> dual connect <span style="color: #993333; font-weight: bold;">BY</span> rownum <span style="color: #66cc66;">&lt;=</span> <span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span> a<span style="color: #66cc66;">,</span>
                       <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> rownum r <span style="color: #993333; font-weight: bold;">FROM</span> dual connect <span style="color: #993333; font-weight: bold;">BY</span> rownum <span style="color: #66cc66;">&lt;=</span> <span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span> b<span style="color: #66cc66;">,</span>
                       <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> rownum r <span style="color: #993333; font-weight: bold;">FROM</span> dual connect <span style="color: #993333; font-weight: bold;">BY</span> rownum <span style="color: #66cc66;">&lt;=</span> <span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span> c
               <span style="color: #993333; font-weight: bold;">WHERE</span> rownum <span style="color: #66cc66;">&lt;=</span> <span style="color: #cc66cc;">1000000</span>
       <span style="color: #66cc66;">&#41;</span>;
&nbsp;
commit;
&nbsp;
<span style="color: #808080; font-style: italic;">-- create indexes</span>
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">INDEX</span> ADMDECKER<span style="color: #66cc66;">.</span>DUMMY_IDX1 <span style="color: #993333; font-weight: bold;">ON</span> ADMDECKER<span style="color: #66cc66;">.</span>DUMMY<span style="color: #66cc66;">&#40;</span>C<span style="color: #66cc66;">,</span>B<span style="color: #66cc66;">&#41;</span> nologging;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">INDEX</span> ADMDECKER<span style="color: #66cc66;">.</span>DUMMY_IDX2 <span style="color: #993333; font-weight: bold;">ON</span> ADMDECKER<span style="color: #66cc66;">.</span>DUMMY<span style="color: #66cc66;">&#40;</span>B <span style="color: #993333; font-weight: bold;">DESC</span><span style="color: #66cc66;">,</span>a<span style="color: #66cc66;">&#41;</span> nologging;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">INDEX</span> ADMDECKER<span style="color: #66cc66;">.</span>DUMMY_IDX3 <span style="color: #993333; font-weight: bold;">ON</span> ADMDECKER<span style="color: #66cc66;">.</span>DUMMY<span style="color: #66cc66;">&#40;</span>C<span style="color: #66cc66;">,</span>B<span style="color: #66cc66;">,</span>D<span style="color: #66cc66;">&#41;</span> nologging;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">INDEX</span> ADMDECKER<span style="color: #66cc66;">.</span>DUMMY_IDX4 <span style="color: #993333; font-weight: bold;">ON</span> ADMDECKER<span style="color: #66cc66;">.</span>DUMMY<span style="color: #66cc66;">&#40;</span>B<span style="color: #66cc66;">,</span>a<span style="color: #66cc66;">&#41;</span> nologging;
&nbsp;
<span style="color: #808080; font-style: italic;">-- gather statistics (including tab stats for virtual hidden column for &quot;B desc&quot; column.</span>
begin DBMS_STATS<span style="color: #66cc66;">.</span>GATHER_TABLE_STATS<span style="color: #66cc66;">&#40;</span>
      OWNNAME<span style="color: #66cc66;">=&gt;</span><span style="color: #ff0000;">'ADMDECKER'</span><span style="color: #66cc66;">,</span>
      TABNAME<span style="color: #66cc66;">=&gt;</span><span style="color: #ff0000;">'DUMMY'</span><span style="color: #66cc66;">,</span>
      METHOD_OPT<span style="color: #66cc66;">=&gt;</span><span style="color: #ff0000;">'FOR ALL COLUMNS SIZE 1'</span><span style="color: #66cc66;">,</span>
      cascade<span style="color: #66cc66;">=&gt;</span>true<span style="color: #66cc66;">,</span>
      ESTIMATE_PERCENT<span style="color: #66cc66;">=&gt;</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span>;
END;
<span style="color: #66cc66;">/</span>
&nbsp;
<span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> DBA_TAB_STATISTICS <span style="color: #993333; font-weight: bold;">WHERE</span> TABLE_NAME <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'DUMMY'</span>;
<span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> DBA_TAB_COL_STATISTICS <span style="color: #993333; font-weight: bold;">WHERE</span> TABLE_NAME <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'DUMMY'</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">-- note min/max/density values for system generated virtual hidden column</span>
<span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> DBA_TAB_COLS <span style="color: #993333; font-weight: bold;">WHERE</span> TABLE_NAME <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'DUMMY'</span>;
<span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> dba_ind_statistics  <span style="color: #993333; font-weight: bold;">WHERE</span> TABLE_NAME <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'DUMMY'</span>;</pre></div></div>

<p>I enable 10053 tracing and execute the query. Afterwards I display the execution plan.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">SQL&amp;gt; <span style="color: #993333; font-weight: bold;">ALTER</span> SESSION <span style="color: #993333; font-weight: bold;">SET</span> EVENTS<span style="color: #66cc66;">=</span><span style="color: #ff0000;">'10053 trace name context forever, level 1'</span>;
&nbsp;
Session altered<span style="color: #66cc66;">.</span>
&nbsp;
<span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #808080; font-style: italic;">/*+ GATHER_PLAN_STATISTICS RUN2 */</span> COUNT<span style="color: #66cc66;">&#40;</span>E<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> ADMDECKER<span style="color: #66cc66;">.</span>DUMMY
<span style="color: #993333; font-weight: bold;">WHERE</span> C <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">9592</span> <span style="color: #993333; font-weight: bold;">AND</span> B <span style="color: #66cc66;">&gt;=</span> <span style="color: #cc66cc;">93</span> <span style="color: #993333; font-weight: bold;">AND</span> D<span style="color: #66cc66;">=</span><span style="color: #cc66cc;">1</span>;
&nbsp;
  COUNT<span style="color: #66cc66;">&#40;</span>E<span style="color: #66cc66;">&#41;</span>
<span style="color: #808080; font-style: italic;">----------</span>
         <span style="color: #cc66cc;">0</span>
&nbsp;
<span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #993333; font-weight: bold;">TABLE</span><span style="color: #66cc66;">&#40;</span>DBMS_XPLAN<span style="color: #66cc66;">.</span>DISPLAY_CURSOR<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span><span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'ALLSTATS LAST +COST'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
PLAN_TABLE_OUTPUT
<span style="color: #808080; font-style: italic;">---------------------</span>
SQL_ID  f5mkaprk7fzt8<span style="color: #66cc66;">,</span> child number <span style="color: #cc66cc;">0</span>
<span style="color: #808080; font-style: italic;">-------------------------------------</span>
<span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #808080; font-style: italic;">/*+ GATHER_PLAN_STATISTICS RUN2 */</span> COUNT<span style="color: #66cc66;">&#40;</span>E<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> ADMDECKER<span style="color: #66cc66;">.</span>DUMMY
<span style="color: #993333; font-weight: bold;">WHERE</span> C <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">9592</span> <span style="color: #993333; font-weight: bold;">AND</span> B <span style="color: #66cc66;">&gt;=</span> <span style="color: #cc66cc;">93</span> <span style="color: #993333; font-weight: bold;">AND</span> D<span style="color: #66cc66;">=</span><span style="color: #cc66cc;">1</span>
&nbsp;
Plan hash value: <span style="color: #cc66cc;">1903509519</span>
&nbsp;
<span style="color: #808080; font-style: italic;">------------------------------------------------------------------------------------------------</span>
<span style="color: #66cc66;">|</span> Id <span style="color: #66cc66;">|</span>Operation                    <span style="color: #66cc66;">|</span>Name      <span style="color: #66cc66;">|</span>E<span style="color: #66cc66;">-</span>Rows<span style="color: #66cc66;">|</span> Cost <span style="color: #66cc66;">&#40;</span>%CPU<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">|</span>A<span style="color: #66cc66;">-</span>Rows<span style="color: #66cc66;">|</span>   A<span style="color: #66cc66;">-</span>Time   <span style="color: #66cc66;">|</span> Buffers <span style="color: #66cc66;">|</span>
<span style="color: #808080; font-style: italic;">------------------------------------------------------------------------------------------------</span>
<span style="color: #66cc66;">|</span>   <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">|</span>SELECT STATEMENT             <span style="color: #66cc66;">|</span>          <span style="color: #66cc66;">|</span>      <span style="color: #66cc66;">|</span>     <span style="color: #cc66cc;">4</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">|</span>     <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">|</span>00:00:<span style="color: #cc66cc;">00.07</span> <span style="color: #66cc66;">|</span>   <span style="color: #cc66cc;">23437</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>   <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">|</span> SORT AGGREGATE              <span style="color: #66cc66;">|</span>          <span style="color: #66cc66;">|</span>     <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">|</span>            <span style="color: #66cc66;">|</span>     <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">|</span>00:00:<span style="color: #cc66cc;">00.07</span> <span style="color: #66cc66;">|</span>   <span style="color: #cc66cc;">23437</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|*</span>  <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">|</span>  <span style="color: #993333; font-weight: bold;">TABLE</span> ACCESS <span style="color: #993333; font-weight: bold;">BY</span> <span style="color: #993333; font-weight: bold;">INDEX</span> ROWID<span style="color: #66cc66;">|</span>DUMMY     <span style="color: #66cc66;">|</span>     <span style="color: #cc66cc;">7</span><span style="color: #66cc66;">|</span>     <span style="color: #cc66cc;">4</span>   <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">|</span>     <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">|</span>00:00:<span style="color: #cc66cc;">00.07</span> <span style="color: #66cc66;">|</span>   <span style="color: #cc66cc;">23437</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|*</span>  <span style="color: #cc66cc;">3</span><span style="color: #66cc66;">|</span>   <span style="color: #993333; font-weight: bold;">INDEX</span> RANGE SCAN          <span style="color: #66cc66;">|</span>DUMMY_IDX2<span style="color: #66cc66;">|</span>     <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">|</span>     <span style="color: #cc66cc;">3</span>   <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">|</span> <span style="color: #cc66cc;">70000</span><span style="color: #66cc66;">|</span>00:00:<span style="color: #cc66cc;">00.03</span> <span style="color: #66cc66;">|</span>     <span style="color: #cc66cc;">197</span> <span style="color: #66cc66;">|</span>
<span style="color: #808080; font-style: italic;">------------------------------------------------------------------------------------------------</span>
&nbsp;
Predicate Information <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">IDENTIFIED</span> <span style="color: #993333; font-weight: bold;">BY</span> operation id<span style="color: #66cc66;">&#41;</span>:
<span style="color: #808080; font-style: italic;">---------------------------------------------------</span>
&nbsp;
   <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">-</span> filter<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;C&quot;</span><span style="color: #66cc66;">=</span><span style="color: #cc66cc;">9592</span> <span style="color: #993333; font-weight: bold;">AND</span> <span style="color: #ff0000;">&quot;D&quot;</span><span style="color: #66cc66;">=</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
   <span style="color: #cc66cc;">3</span> <span style="color: #66cc66;">-</span> access<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;DUMMY&quot;</span><span style="color: #66cc66;">.</span><span style="color: #ff0000;">&quot;SYS_NC00006$&quot;</span><span style="color: #66cc66;">&lt;=</span>HEXTORAW<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'3EA1FF'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>
       filter<span style="color: #66cc66;">&#40;</span>SYS_OP_UNDESCEND<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;DUMMY&quot;</span><span style="color: #66cc66;">.</span><span style="color: #ff0000;">&quot;SYS_NC00006$&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&gt;=</span><span style="color: #cc66cc;">93</span><span style="color: #66cc66;">&#41;</span></pre></div></div>

<p>The complete 10053 can be viewed here: <a href="/papers/MD_ora_9626.trc">10053 Trace of bad plan.</a></p>
<p>It can be seen that the execution plan contains the following statement and uses a very, very low density.</p>
<blockquote>
<pre>  Using prorated density: 0.000002 of col #6 as selectvity of out-of-range/non-existent value pred</pre>
</blockquote>
<p>So, instead of using Index DUMMY_IDX3, which contains all three predicate columns, especially more selective equality predicate &#8220;C = 9592&#8243;, it uses quite unselective index DUMMY_IDX2, only because density is calculated wrongly.</p>
<p>If the statement is executed a second time, the right plan is used. Cardinality feedback feature kicks in here. Please note the higher costs and higher cardinality for index range scan at row source operation id 3.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">connect ADmdecker
Enter password:
Connected<span style="color: #66cc66;">.</span>
<span style="color: #993333; font-weight: bold;">ALTER</span> SESSION <span style="color: #993333; font-weight: bold;">SET</span> EVENTS<span style="color: #66cc66;">=</span><span style="color: #ff0000;">'10053 trace name context forever, level 1'</span>;
&nbsp;
Session altered<span style="color: #66cc66;">.</span>
&nbsp;
<span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #808080; font-style: italic;">/*+ GATHER_PLAN_STATISTICS RUN2 */</span> COUNT<span style="color: #66cc66;">&#40;</span>E<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> ADMDECKER<span style="color: #66cc66;">.</span>DUMMY
<span style="color: #993333; font-weight: bold;">WHERE</span> C <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">9592</span> <span style="color: #993333; font-weight: bold;">AND</span> B <span style="color: #66cc66;">&gt;=</span> <span style="color: #cc66cc;">93</span> <span style="color: #993333; font-weight: bold;">AND</span> D<span style="color: #66cc66;">=</span><span style="color: #cc66cc;">1</span>;
&nbsp;
  COUNT<span style="color: #66cc66;">&#40;</span>E<span style="color: #66cc66;">&#41;</span>
<span style="color: #808080; font-style: italic;">----------</span>
         <span style="color: #cc66cc;">0</span>
&nbsp;
<span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #993333; font-weight: bold;">TABLE</span><span style="color: #66cc66;">&#40;</span>DBMS_XPLAN<span style="color: #66cc66;">.</span>DISPLAY_CURSOR<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span><span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'ALLSTATS LAST +COST'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
PLAN_TABLE_OUTPUT
<span style="color: #808080; font-style: italic;">----------------------</span>
SQL_ID  f5mkaprk7fzt8<span style="color: #66cc66;">,</span> child number <span style="color: #cc66cc;">1</span>
<span style="color: #808080; font-style: italic;">-------------------------------------</span>
<span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #808080; font-style: italic;">/*+ GATHER_PLAN_STATISTICS RUN2 */</span> COUNT<span style="color: #66cc66;">&#40;</span>E<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> MDECKER<span style="color: #66cc66;">.</span>DUMMY
<span style="color: #993333; font-weight: bold;">WHERE</span> C <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">9592</span> <span style="color: #993333; font-weight: bold;">AND</span> B <span style="color: #66cc66;">&gt;=</span> <span style="color: #cc66cc;">93</span> <span style="color: #993333; font-weight: bold;">AND</span> D<span style="color: #66cc66;">=</span><span style="color: #cc66cc;">1</span>
&nbsp;
Plan hash value: <span style="color: #cc66cc;">1171978535</span>
&nbsp;
<span style="color: #808080; font-style: italic;">-------------------------------------------------------------------------------------------------</span>
<span style="color: #66cc66;">|</span> Id <span style="color: #66cc66;">|</span>Operation                    <span style="color: #66cc66;">|</span>Name       <span style="color: #66cc66;">|</span>E<span style="color: #66cc66;">-</span>Rows<span style="color: #66cc66;">|</span> Cost <span style="color: #66cc66;">&#40;</span>%CPU<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">|</span>A<span style="color: #66cc66;">-</span>Rows <span style="color: #66cc66;">|</span>   A<span style="color: #66cc66;">-</span>Time   <span style="color: #66cc66;">|</span>Buffers <span style="color: #66cc66;">|</span>
<span style="color: #808080; font-style: italic;">-------------------------------------------------------------------------------------------------</span>
<span style="color: #66cc66;">|</span>   <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">|</span>SELECT STATEMENT             <span style="color: #66cc66;">|</span>           <span style="color: #66cc66;">|</span>      <span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">11</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">|</span>     <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span>00:00:<span style="color: #cc66cc;">00.01</span> <span style="color: #66cc66;">|</span>      <span style="color: #cc66cc;">3</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>   <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">|</span> SORT AGGREGATE              <span style="color: #66cc66;">|</span>           <span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span>            <span style="color: #66cc66;">|</span>     <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span>00:00:<span style="color: #cc66cc;">00.01</span> <span style="color: #66cc66;">|</span>      <span style="color: #cc66cc;">3</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span>   <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">|</span>  <span style="color: #993333; font-weight: bold;">TABLE</span> ACCESS <span style="color: #993333; font-weight: bold;">BY</span> <span style="color: #993333; font-weight: bold;">INDEX</span> ROWID<span style="color: #66cc66;">|</span>DUMMY      <span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">7</span> <span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">11</span>   <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">|</span>     <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">|</span>00:00:<span style="color: #cc66cc;">00.01</span> <span style="color: #66cc66;">|</span>      <span style="color: #cc66cc;">3</span> <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|*</span>  <span style="color: #cc66cc;">3</span><span style="color: #66cc66;">|</span>   <span style="color: #993333; font-weight: bold;">INDEX</span> RANGE SCAN          <span style="color: #66cc66;">|</span>DUMMY_IDX3 <span style="color: #66cc66;">|</span>    <span style="color: #cc66cc;">7</span> <span style="color: #66cc66;">|</span>     <span style="color: #cc66cc;">3</span>   <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">|</span>     <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">|</span>00:00:<span style="color: #cc66cc;">00.01</span> <span style="color: #66cc66;">|</span>      <span style="color: #cc66cc;">3</span> <span style="color: #66cc66;">|</span>
<span style="color: #808080; font-style: italic;">-------------------------------------------------------------------------------------------------</span>
&nbsp;
Predicate Information <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">IDENTIFIED</span> <span style="color: #993333; font-weight: bold;">BY</span> operation id<span style="color: #66cc66;">&#41;</span>:
<span style="color: #808080; font-style: italic;">---------------------------------------------------</span>
&nbsp;
   <span style="color: #cc66cc;">3</span> <span style="color: #66cc66;">-</span> access<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;C&quot;</span><span style="color: #66cc66;">=</span><span style="color: #cc66cc;">9592</span> <span style="color: #993333; font-weight: bold;">AND</span> <span style="color: #ff0000;">&quot;B&quot;</span><span style="color: #66cc66;">&gt;=</span><span style="color: #cc66cc;">93</span> <span style="color: #993333; font-weight: bold;">AND</span> <span style="color: #ff0000;">&quot;D&quot;</span><span style="color: #66cc66;">=</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>
       filter<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;D&quot;</span><span style="color: #66cc66;">=</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>
&nbsp;
Note
<span style="color: #808080; font-style: italic;">-----</span>
 <span style="color: #66cc66;">-</span> cardinality feedback used <span style="color: #993333; font-weight: bold;">FOR</span> this statement</pre></div></div>

<p>The complete 10053 of the new plan (using cardinality feedback feature) can be viewed here: <a href="/papers/MD_ora_12224.trc">10053 Trace of good plan using cardinality feedback.</a> More information about this little documented new feature can be found at <a href="http://dioncho.wordpress.com/2009/12/17/trivial-research-on-the-cardinality-feedback-on-11gr2/">Dion Cho´s blog </a> and from this <a href="http://www.vldb.org/pvldb/1/1454178.pdf">Oracle paper</a>.</p>
<p><strong>Update: 06.10.2011<br />
</strong></p>
<blockquote><p>Oracle Support has provided Patch 11072246, which fixes a bug in DBMS_STATS on how min/max values are set for hidden desc columns. After installing the patch, the bug is gone and the execution plan is optimal.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2010/10/25/suboptimal-prorated-density-calculation-with-desc-index-cardinality-feedback-feature/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle 11g Certified Masters &#8230;</title>
		<link>http://www.ora-solutions.net/web/2010/10/22/oracle-11g-certified-masters/</link>
		<comments>http://www.ora-solutions.net/web/2010/10/22/oracle-11g-certified-masters/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 18:43:46 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[11g]]></category>
		<category><![CDATA[Certification]]></category>
		<category><![CDATA[Oracle Database]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=894</guid>
		<description><![CDATA[I was quite surprised when I received a mail from Oracle that my OCM 11g profile is now online. It turned out that I am one of only 6 people with an 11g OCM profile! Although there might be some others who succeeded in certification and didn´t publish a profile, I am still quite surprised [...]]]></description>
			<content:encoded><![CDATA[<p>I was quite surprised when I received a mail from Oracle that my OCM 11g profile is now online. It turned out that I am one of only 6 people with an 11g OCM profile! Although there might be some others who succeeded in certification and didn´t publish a profile, I am still quite surprised that there are so few. Maybe the run will begin as soon as the full exam is publicly available as currently only upgrades are possible.</p>
<p><a href="http://education.oracle.com/education/otn/">http://education.oracle.com/education/otn/</a><br />
<a href="http://education.oracle.com/education/otn/ocm-11g.html">http://education.oracle.com/education/otn/ocm-11g.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2010/10/22/oracle-11g-certified-masters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DOAG Presentation on Oracle Data Guard 11g (R1/R2) What´s new? (german)</title>
		<link>http://www.ora-solutions.net/web/2010/07/14/presentation-on-oracle-data-guard-11g-r1r2-what%c2%b4s-new-german/</link>
		<comments>http://www.ora-solutions.net/web/2010/07/14/presentation-on-oracle-data-guard-11g-r1r2-what%c2%b4s-new-german/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 17:59:51 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[11g]]></category>
		<category><![CDATA[11gR2]]></category>
		<category><![CDATA[Data Guard]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Oracle Enterprise Manager]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=856</guid>
		<description><![CDATA[I have uploaded the material of the german DOAG presentation on Oracle Data Guard 11gr2 Whats New to the &#8220;presentation&#8221; section. It also contains 6 recorded demos using Enterprise Manager Grid Control.]]></description>
			<content:encoded><![CDATA[<p>I have uploaded the material of the german DOAG presentation on Oracle Data Guard 11gr2 Whats New to the <a href="/web/presentations/">&#8220;presentation&#8221;</a> section. It also contains 6 recorded demos using Enterprise Manager Grid Control.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2010/07/14/presentation-on-oracle-data-guard-11g-r1r2-what%c2%b4s-new-german/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle Certified Master 11g</title>
		<link>http://www.ora-solutions.net/web/2010/06/15/oracle-certified-master-11g/</link>
		<comments>http://www.ora-solutions.net/web/2010/06/15/oracle-certified-master-11g/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 16:49:59 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[11g]]></category>
		<category><![CDATA[Certification]]></category>
		<category><![CDATA[Oracle Database]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=829</guid>
		<description><![CDATA[Today, I received a mail from Oracle to inform me that I passed Oracle Certified Master 11g Upgrade Exam. After several weeks of after-work preparations, this is a very satisfying result. If you are OCM 10g and also interested in upgrading, you can find exam schedule and list of objectives here. Good luck. Schedule: http://education.oracle.co.uk/html/oracle/28US/SCHED_SP_OCM11.htm [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I received a mail from Oracle to inform me that I passed <strong>Oracle Certified Master 11g</strong> Upgrade Exam. After several weeks of after-work preparations, this is a very satisfying result. If you are OCM 10g and also interested in upgrading, you can find exam schedule and list of objectives here. Good luck.</p>
<p>Schedule: <a title="http://education.oracle.co.uk/html/oracle/28US/SCHED_SP_OCM11.htm" href="http://education.oracle.co.uk/html/oracle/28US/SCHED_SP_OCM11.htm">http://education.oracle.co.uk/html/oracle/28US/SCHED_SP_OCM11.htm</a></p>
<p>Objectives: <a title="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=41&amp;p_org_id=&amp;lang=&amp;p_exam_id=11gOCMU" href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=41&amp;p_org_id=&amp;lang=&amp;p_exam_id=11gOCMU">http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=41&amp;p_org_id=&amp;lang=&amp;p_exam_id=11gOCMU</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2010/06/15/oracle-certified-master-11g/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Highly Dangerous Oracle Database Security Vulnerability</title>
		<link>http://www.ora-solutions.net/web/2010/02/26/highly-dangerous-oracle-database-security-vulnerability/</link>
		<comments>http://www.ora-solutions.net/web/2010/02/26/highly-dangerous-oracle-database-security-vulnerability/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 20:39:25 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[10g]]></category>
		<category><![CDATA[11g]]></category>
		<category><![CDATA[Bugs]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=802</guid>
		<description><![CDATA[I would like to draw your attention to a particularly dangerous security vulnerability, which was recently published by David Litchfield. How dangerous is the vulnerability? Any database user, who has &#8220;create session&#8221; privilege, which means, who can log into the database, can use the security hole to execute any OS command in the ownership of [...]]]></description>
			<content:encoded><![CDATA[<p>I would like to draw your attention to a particularly dangerous security vulnerability, which was recently published by David Litchfield. </p>
<p><strong>How dangerous is the vulnerability?</strong></p>
<p>Any database user, who has &#8220;create session&#8221; privilege, which means, who can log into the database, can use the security hole to execute any OS command in the ownership of the oracle database owner. This means, that both denial of service as well as access to all data is exposed.</p>
<p><strong>Which versions are affected?</strong></p>
<p>Affected are database versions 10.2.0.4 (incl. 10.2.0.4.3 containing latest security patches as of January 2010) as well as 11g (incl. 11.2.0.1).</p>
<p><strong>What can I do to close this security vulernability?</strong></p>
<p>You can revoke privileges from PUBLIC:</p>
<p>revoke execute on dbms_java from PUBLIC;<br />
revoke execute on dbms_java_test from PUBLIC;<br />
revoke execute on “oracle/aurora/util/Wrapper” from PUBLIC;<br />
grant execute on sys.dbms_jvm_exp_perms to IMP_FULL_DATABASE;<br />
grant execute on sys.dbms_jvm_exp_perms to EXP_FULL_DATABASE;<br />
revoke execute on sys.dbms_jvm_exp_perms from PUBLIC;</p>
<p>If you are using a third party vendor application, you should contact your vendor to check compatibility with revoked privileges or test before implementing in production.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2010/02/26/highly-dangerous-oracle-database-security-vulnerability/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speech at DOAG Conference 2009 &#8211; RAC PreProduction Testing</title>
		<link>http://www.ora-solutions.net/web/2009/11/20/speech-at-doag-conference-2009-rac-preproduction-testing/</link>
		<comments>http://www.ora-solutions.net/web/2009/11/20/speech-at-doag-conference-2009-rac-preproduction-testing/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 22:06:48 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[10g]]></category>
		<category><![CDATA[11g]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Real Application Clusters]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=798</guid>
		<description><![CDATA[I just came back from the DOAG Conference 2009, the german Oracle user group conference in Nürnberg where I had a speech about RAC PreProduction Testing. I have uploaded the slides and the paper to the papers section. At this time, the presentation is available in german only.]]></description>
			<content:encoded><![CDATA[<p>I just came back from the DOAG Conference 2009, the german Oracle user group conference in Nürnberg where I had a speech about RAC PreProduction Testing. I have uploaded the slides and the paper to the <a href="http://www.ora-solutions.net/web/papers/">papers section</a>. At this time, the presentation is available in german only. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2009/11/20/speech-at-doag-conference-2009-rac-preproduction-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle Clusterware / ASM 11.1.0.7: ASM Instance crash</title>
		<link>http://www.ora-solutions.net/web/2009/10/28/oracle-clusterware-asm-11-1-0-7-asm-instance-crash/</link>
		<comments>http://www.ora-solutions.net/web/2009/10/28/oracle-clusterware-asm-11-1-0-7-asm-instance-crash/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 15:27:00 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[11g]]></category>
		<category><![CDATA[Bugs]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MetaLink]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=779</guid>
		<description><![CDATA[During a 11gR1 Clusterware installation for a Single Instance Failover Cluster at a customer site, I have experienced an interesting behaviour, which was caused by an Oracle Bug. The environment was: 2 Node Oracle Clusterware 11.1.0.7 Cluster on Linux x86_64 using latest Recommended Patches as of October 19th. (pre PSU 11.1.0.7.1) Clusterware installed as unix [...]]]></description>
			<content:encoded><![CDATA[<p>During a 11gR1 Clusterware installation for a Single Instance Failover Cluster at a customer site, I have experienced an interesting behaviour, which was caused by an Oracle Bug.</p>
<p>The environment was:</p>
<ul>
<li>2 Node Oracle Clusterware 11.1.0.7 Cluster on Linux x86_64 using latest Recommended Patches as of October 19th. (pre PSU 11.1.0.7.1)</li>
<li>Clusterware installed as unix user crs</li>
<li>ASM installed as unix user oracle</li>
</ul>
<p>The ASM instances could be started with SQL*Plus without any problems, but if the ASM instances were started by means of clusterware using srvctl (either from root, crs or oracle) the  ASM instances would crash at diskgroup mount with:</p>
<blockquote>
<pre>ORA-07445: exception encountered: core dump  [sskgds_find_rtn_hdr()+1171]
[SIGBUS] [ADDR:0x2AACD701342C] [PC:0x25799DF]
[Non-existent physical address] []</pre>
</blockquote>
<p>Oracle Support identified this behaviour as Bug 6952915, for which there are patches for Linux x86, x86_64 and Solaris Sparc64.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2009/10/28/oracle-clusterware-asm-11-1-0-7-asm-instance-crash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

