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