Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Init. param. OPTIMIZER_PERCENT_PARALLEL > 0 ?

Re: Init. param. OPTIMIZER_PERCENT_PARALLEL > 0 ?

From: Jonathan Lewis <jonathan_at_jlcomp.demon.co.uk>
Date: Wed, 12 Nov 2003 20:17:47 -0000
Message-ID: <bou4en$1be$1$8302bc10@news.demon.co.uk>

You've understood absolutely correctly.
What's even more surprising - there is a parameter parallel_min_percent (approx.) which says:

    if you can't run at this percentage of the     requested degree of parallelism, don't     run at all. e.g. if DOP is 4, and p_m_p     is 50, then your query should fail if there     are not enough slaves to run parallel 2     when the query starts to run

EVEN when you set the p_m_p to a non-zero value, Oracle optimises the query on the 'fallback' position that the query may have to run parallel - it doesn't try to optimise for the minimum degree that it will be allowed to run at.

Yes - this does mean that a parallel query is not necessarily going to execute in the most efficient way possible for a parallel query. (Unless there is something cunning built into the arithmetic that somehow manages to guarantee that the serial-assumption is irrelevant).

--
Regards

Jonathan Lewis
http://www.jlcomp.demon.co.uk

  The educated person is not the person
  who can answer the questions, but the
  person who can question the answers -- T. Schick Jr


One-day tutorials:
http://www.jlcomp.demon.co.uk/tutorial.html
____Belgium__November (EOUG event - "Troubleshooting")
____UK_______December (UKOUG conference - "CBO")


Three-day seminar:
see http://www.jlcomp.demon.co.uk/seminar.html
____UK___November


The Co-operative Oracle Users' FAQ
http://www.jlcomp.demon.co.uk/faq/ind_faq.html


"Rick Denoire" <100.17706_at_germanynet.de> wrote in message
news:ptuvqvkcmud9ujb9lvkaur1kppa1eoeagv_at_4ax.com...

> "Jonathan Lewis" <jonathan_at_jlcomp.demon.co.uk> wrote:
>
> > a) when opt_pct_para is zero, Oracle 'assumes'
> > that it will be taking a serial path at run time,
> > and optimises for that (which means that if it
> > executes that path in parallel it may be very
> > bad news for your machine).
>
> Oracle optimizes for serial path and could still execute in
parallel?
>
> Does that mean that one should try to conciliate what Oracle
optimizes
> for with the actual execution plan? So if a table has an option of
> parallel degree 4, then the session dealing with this table should
> have a high opt_percent_parallel? (Assuming parallelity is switch on
> in the init.ora).
>
> According to this statement, if one leaves opt_percent_parallel at
> zero (default), then every time Oracle executes something in
parallel,
> it will follow a plan which was optimized for serial execution,
(i.e.
> will always be "wrong" or inappropriate). Astonishing.
>
> I think I understood your explanation. I am missing the sense of
such
> logic.
>
> Bye
> Rick Denoire
Received on Wed Nov 12 2003 - 14:17:47 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US