Re: When is parallelism not used by optimizer - but defined?

  • From: Stefan Koehler <contact@xxxxxxxx>
  • To: bdcbuning@xxxxxxxxxx, oracle-l@xxxxxxxxxxxxx
  • Date: Tue, 14 Nov 2023 20:14:36 +0100 (CET)

Hello Bernhard,
not quite sure if I get your question right - are you talking about reasons why 
you get a serial plan even if you specified some kind of DOP or are you talking 
about reasons why the runtime engine decreases DOP or execute it in serial?

For the latter you want to check out qerpxSetupAndAllocSlaves() and its reasons 
(e.g. check here for an example: 
https://gist.github.com/xtender/a48edf801516a3a1c9e328edaedffe2c) ... and for 
the former it is a plain cost based decision (e.g. check here: 
https://tanelpoder.com/2013/03/20/alter-session-force-parallel-query-doesnt-really-force-anything/
 or here: https://jonathanlewis.wordpress.com/2007/06/17/hints-again/)

Best Regards
Stefan Koehler

Independent Oracle performance consultant and researcher
Website: www.soocs.de
Twitter: @OracleSK

Bernhard de Cock Buning <bdcbuning@xxxxxxxxxx> hat am 14.11.2023 19:01 CET 
geschrieben:

Hello all,

One of the possibilities is to execute workloads in parallel, But now I am 
looking for input when parallelism will not work.
Especially in the relation to the oracle optimizer, when does the optimiser 
to decide when not to perform a statement in parallel although parallelisme 
is defined.

I would like to make a "list" of when not and use this in performance cases.
All input is useful,

ThanksKind regards,
Bernhard
--
//www.freelists.org/webpage/oracle-l


Other related posts: