Re: parallel_max_servers and the number of sessions involved in a SQL

From: Laurentiu Oprea <laurentiu.oprea06_at_gmail.com>
Date: Fri, 27 Nov 2020 22:34:00 +0200
Message-ID: <CA+riqSXOGwS+sy8aBp_+P3cHNAG_gryaFiA4yKPOMaBn7UbzGA_at_mail.gmail.com>



Hello Ahmed,

If your target is to limit the dop you have to either: -> mention DOP number in parallel hint : /*+ parallel(n) */ -> explore PARALLEL_DEGREE_LIMIT

Also DOP of 8 don`t translate into 8 sessions. You have involved the coordinator, producers/consumers, parallel servers already allocated (you might experience DOP downgrade). (you can check the sql monitor report for comprehensive details )
You might want to avoid relying on autodop algorithm.

În vin., 27 nov. 2020 la 21:48, ahmed.fikri_at_t-online.de < ahmed.fikri_at_t-online.de> a scris:

> Hi all,
>
>
>
> I'm trying to understand how Oracle defines the limit on the number of
> sessions involved in a SQL statement (a select on big table using a
> parallel hint)
> I ran some tests and I found the following:
>
>
>
> number_of_sessions =
> greatest(floor(min(parallel_max_servers,n_max)/2),1)
>
>
> where
> cpu (host) n_max
> 1 40
> 2 80
> 3 120
> 4 160
> 5 200
> 6 228
> 7 228
> 8 228
>
>
>
> for my test I used 12.2.0.1 installed on a virtual box (the host machine
> has 12 cpus)
> can someone explain the n_max/cpu relationship?
>
>
>
> Best regards
>
> Ahmed
>
>
> 
>

--
http://www.freelists.org/webpage/oracle-l
Received on Fri Nov 27 2020 - 21:34:00 CET

Original text of this message