Re: Wrong results using decode when db upgraded to 9205

  • From: Daniel Fink <Daniel.Fink@xxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Wed, 05 May 2004 12:07:49 -0600

In my testing, I've found the RULE hint still works. If I remove
the RULE hint from the previous statement, it uses hash joins.
With the hint, it uses nested loop joins. Also, if I rerun the
query slightly altered (to get a new hard parse) with 10053, it
shows that the CBO is not used, no calculations are made, no
join orders are attempted. This tells me that the RBO engine is
being used.

The old rules about RBO and CBO still apply. 


Mladen Gogala wrote:
> Well, it is alive, but not well. If you don't change defaults, 10g does
> dynamic sampling all by itself and you will always get some statistics.
> which means that you will always get CBO, unless you reset dynamic sampling
> and disable statistics collection with 
> dbms_scheduler.disable('GATHER_STATS_JOB')
> DBMS_SCHEDULER is DBMS_JOB on steroids. Also, you cannot set optimizer_mode to
> rule in init.ora (OK, OK, it's spfile.ora), there is no /*+ RULE */ hint and
> oracle did everything to make the use of RBO as inconvenient as possible.
> Also, there is no documentation, so I don't know whether RBO  will prune
> partitions, do hash joins or perform an index skip-search (OK, I know that RBO
> will not do thiat, but not from 10g documentation). Fortunately, the event
> 10053 still works as it is supposed to, so we can take a peek under the hood.
> --
> Mladen Gogala
> Oracle DBA
Please see the official ORACLE-L FAQ:
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
Archives are at
FAQ is at

Other related posts: