Discussion:
Oracle Partitioning and parallel DML
"Sanjay Mishra" (Redacted sender "smishra_97" for DMARC)
2018-08-15 20:40:46 UTC
Permalink
Can someone help to understand the Parallel DML doing INSERT and partitions? I had two partitioned table with 7 partitions in one table where Insert is going  and 5 partitions in the second table which is used in SELECT
Using session level force Paralle DML 5INSERT /APPEND/ into 7_part_table select from 5Part_table
This is Oracle Exadata, 2 two node RAC with 12.1. I can see that the above insert create more than 20 connections and causing a high bottleneck to the system Resource and affecting the other process. Is it suppose to create these many processes.
DOP is manualTable/corresponding Index Level Degree is set as 1 
TIASanjay
Mark W. Farnham
2018-08-15 21:33:10 UTC
Permalink
connections or sessions? Did you also enable parallel dml for the session?



From: oracle-l-***@freelists.org [mailto:oracle-l-***@freelists.org] On Behalf Of Sanjay Mishra (Redacted sender "smishra_97" for DMARC)
Sent: Wednesday, August 15, 2018 4:41 PM
To: Oracle-L Freelists
Subject: Oracle Partitioning and parallel DML



Can someone help to understand the Parallel DML doing INSERT and partitions? I had two partitioned table with 7 partitions in one table where Insert is going and 5 partitions in the second table which is used in SELECT



Using session level force Paralle DML 5

INSERT /APPEND/ into 7_part_table select from 5Part_table



This is Oracle Exadata, 2 two node RAC with 12.1. I can see that the above insert create more than 20 connections and causing a high bottleneck to the system Resource and affecting the other process. Is it suppose to create these many processes.



DOP is manual

Table/corresponding Index Level Degree is set as 1



TIA

Sanjay
"Sanjay Mishra" (Redacted sender "smishra_97" for DMARC)
2018-08-15 21:42:34 UTC
Permalink
Mark
It is the session which is visible and yes Parallel DML was enabled for the session. Trying to understand as how Oracle create so many session which might be due to parallel queries and how they are related or how Oracle decide to start the number of parallel slaves.
Is it depending solely on enable PARALLEL DML setting like I had 5 here?Is it depending on Partition in the involved table like for INSERT and SELECT?

ThanksSanjay





On Wednesday, August 15, 2018, 5:34:22 PM EDT, Mark W. Farnham <***@rsiz.com> wrote:

#yiv0942948783 #yiv0942948783 -- _filtered #yiv0942948783 {font-family:Calibri;panose-1:2 15 5 2 2 2 4 3 2 4;} _filtered #yiv0942948783 {font-family:Tahoma;panose-1:2 11 6 4 3 5 4 4 2 4;}#yiv0942948783 #yiv0942948783 p.yiv0942948783MsoNormal, #yiv0942948783 li.yiv0942948783MsoNormal, #yiv0942948783 div.yiv0942948783MsoNormal {margin:0in;margin-bottom:.0001pt;font-size:12.0pt;font-family:New;}#yiv0942948783 a:link, #yiv0942948783 span.yiv0942948783MsoHyperlink {color:blue;text-decoration:underline;}#yiv0942948783 a:visited, #yiv0942948783 span.yiv0942948783MsoHyperlinkFollowed {color:purple;text-decoration:underline;}#yiv0942948783 span.yiv0942948783EmailStyle17 {color:#1F497D;}#yiv0942948783 .yiv0942948783MsoChpDefault {font-size:10.0pt;} _filtered #yiv0942948783 {margin:1.0in 1.0in 1.0in 1.0in;}#yiv0942948783 div.yiv0942948783WordSection1 {}#yiv0942948783
connections or sessions? Did you also enable parallel dml for the session?

 

From: oracle-l-***@freelists.org [mailto:oracle-l-***@freelists.org] On Behalf Of Sanjay Mishra (Redacted sender "smishra_97" for DMARC)
Sent: Wednesday, August 15, 2018 4:41 PM
To: Oracle-L Freelists
Subject: Oracle Partitioning and parallel DML

 

Can someone help to understand the Parallel DML doing INSERT and partitions? I had two partitioned table with 7 partitions in one table where Insert is going  and 5 partitions in the second table which is used in SELECT

 

Using session level force Paralle DML 5

INSERT /APPEND/ into 7_part_table select from 5Part_table

 

This is Oracle Exadata, 2 two node RAC with 12.1. I can see that the above insert create more than 20 connections and causing a high bottleneck to the system Resource and affecting the other process. Is it suppose to create these many processes.

 

DOP is manual

Table/corresponding Index Level Degree is set as 1 

 

TIA

Sanjay
Mark W. Farnham
2018-08-15 23:49:39 UTC
Permalink
Degree of parallelism (DOP) is the number of logical parallel sets of producers and consumers that get started (parallel servers). For join queries there can be multiple sets at that degree of parallelism, so the number of “sessions” can grow pretty quickly.

The easiest way to get a start understanding it is to look at a sqlmonitor graphical report and you’ll see the sets of producers and consumers, and then read the various concepts sections about how it works. Controlling the maximum number of things spawned and things like downgrades is kindly described as a bit baroque, but at the bottom is the idea that Oracle really wants to achieve figuring out the degree and number of servers for you automatically.

mwf



From: oracle-l-***@freelists.org [mailto:oracle-l-***@freelists.org] On Behalf Of Sanjay Mishra (Redacted sender "smishra_97" for DMARC)
Sent: Wednesday, August 15, 2018 5:43 PM
To: dmarc-***@freelists.org; 'Oracle-L Freelists'; Mark W. Farnham
Subject: Re: RE: Oracle Partitioning and parallel DML





Mark



It is the session which is visible and yes Parallel DML was enabled for the session. Trying to understand as how Oracle create so many session which might be due to parallel queries and how they are related or how Oracle decide to start the number of parallel slaves.



Is it depending solely on enable PARALLEL DML setting like I had 5 here?

Is it depending on Partition in the involved table like for INSERT and SELECT?





Thanks

Sanjay













On Wednesday, August 15, 2018, 5:34:22 PM EDT, Mark W. Farnham <***@rsiz.com> wrote:





connections or sessions? Did you also enable parallel dml for the session?



From: oracle-l-***@freelists.org [mailto:oracle-l-***@freelists.org] On Behalf Of Sanjay Mishra (Redacted sender "smishra_97" for DMARC)
Sent: Wednesday, August 15, 2018 4:41 PM
To: Oracle-L Freelists
Subject: Oracle Partitioning and parallel DML



Can someone help to understand the Parallel DML doing INSERT and partitions? I had two partitioned table with 7 partitions in one table where Insert is going and 5 partitions in the second table which is used in SELECT



Using session level force Paralle DML 5

INSERT /APPEND/ into 7_part_table select from 5Part_table



This is Oracle Exadata, 2 two node RAC with 12.1. I can see that the above insert create more than 20 connections and causing a high bottleneck to the system Resource and affecting the other process. Is it suppose to create these many processes.



DOP is manual

Table/corresponding Index Level Degree is set as 1



TIA

Sanjay
Mohammad Rafiq
2018-08-18 15:24:55 UTC
Permalink
Just one thing came in my mind.
Just check the parallel degree of tables involved. If it is set to DEFAULT please change it 4 or whatever degree you want.

Regards
Rafiq


Thanks
Rafiq

On Aug 15, 2018, at 7:51 PM, Mark W. Farnham <***@rsiz.com<mailto:***@rsiz.com>> wrote:

Degree of parallelism (DOP) is the number of logical parallel sets of producers and consumers that get started (parallel servers). For join queries there can be multiple sets at that degree of parallelism, so the number of “sessions” can grow pretty quickly.

The easiest way to get a start understanding it is to look at a sqlmonitor graphical report and you’ll see the sets of producers and consumers, and then read the various concepts sections about how it works. Controlling the maximum number of things spawned and things like downgrades is kindly described as a bit baroque, but at the bottom is the idea that Oracle really wants to achieve figuring out the degree and number of servers for you automatically.

mwf

From: oracle-l-***@freelists.org<mailto:oracle-l-***@freelists.org> [mailto:oracle-l-***@freelists.org] On Behalf Of Sanjay Mishra (Redacted sender "smishra_97" for DMARC)
Sent: Wednesday, August 15, 2018 5:43 PM
To: dmarc-***@freelists.org<mailto:dmarc-***@freelists.org>; 'Oracle-L Freelists'; Mark W. Farnham
Subject: Re: RE: Oracle Partitioning and parallel DML


Mark

It is the session which is visible and yes Parallel DML was enabled for the session. Trying to understand as how Oracle create so many session which might be due to parallel queries and how they are related or how Oracle decide to start the number of parallel slaves.

Is it depending solely on enable PARALLEL DML setting like I had 5 here?
Is it depending on Partition in the involved table like for INSERT and SELECT?


Thanks
Sanjay






On Wednesday, August 15, 2018, 5:34:22 PM EDT, Mark W. Farnham <***@rsiz.com<mailto:***@rsiz.com>> wrote:



connections or sessions? Did you also enable parallel dml for the session?



From: oracle-l-***@freelists.org<mailto:oracle-l-***@freelists.org> [mailto:oracle-l-***@freelists.org] On Behalf Of Sanjay Mishra (Redacted sender "smishra_97" for DMARC)
Sent: Wednesday, August 15, 2018 4:41 PM
To: Oracle-L Freelists
Subject: Oracle Partitioning and parallel DML



Can someone help to understand the Parallel DML doing INSERT and partitions? I had two partitioned table with 7 partitions in one table where Insert is going and 5 partitions in the second table which is used in SELECT



Using session level force Paralle DML 5

INSERT /APPEND/ into 7_part_table select from 5Part_table



This is Oracle Exadata, 2 two node RAC with 12.1. I can see that the above insert create more than 20 connections and causing a high bottleneck to the system Resource and affecting the other process. Is it suppose to create these many processes.



DOP is manual

Table/corresponding Index Level Degree is set as 1



TIA

Sanjay
"Sanjay Mishra" (Redacted sender "smishra_97" for DMARC)
2018-08-18 17:24:57 UTC
Permalink
Rafiq
Degree is set to 1 as changing to Default or higher cause multiple session comes and hence cause resmgr:cpu event due to CPU restriction been set using Resource Manager. Even with Forcing session level parallel DML/DDL to 4 is causing multiple processes starts where both Insert and Select involved tables are a partitioned table. 
Sanjay

On Saturday, August 18, 2018, 11:25:51 AM EDT, Mohammad Rafiq <***@hotmail.com> wrote:

Just one thing came in my mind.Just check the parallel degree of tables involved. If it is set to DEFAULT please change it 4 or whatever degree you want. 
Regards Rafiq


ThanksRafiq
On Aug 15, 2018, at 7:51 PM, Mark W. Farnham <***@rsiz.com> wrote:



#yiv6248568970 #yiv6248568970 -- _filtered #yiv6248568970 {font-family:Helvetica;panose-1:2 11 6 4 2 2 2 2 2 4;} _filtered #yiv6248568970 {font-family:Helvetica;panose-1:2 11 6 4 2 2 2 2 2 4;} _filtered #yiv6248568970 {font-family:Calibri;panose-1:2 15 5 2 2 2 4 3 2 4;} _filtered #yiv6248568970 {font-family:Tahoma;panose-1:2 11 6 4 3 5 4 4 2 4;} _filtered #yiv6248568970 {font-family:New;panose-1:0 0 0 0 0 0 0 0 0 0;}#yiv6248568970 #yiv6248568970 p.yiv6248568970MsoNormal, #yiv6248568970 li.yiv6248568970MsoNormal, #yiv6248568970 div.yiv6248568970MsoNormal {margin:0in;margin-bottom:.0001pt;font-size:12.0pt;font-family:New;}#yiv6248568970 a:link, #yiv6248568970 span.yiv6248568970MsoHyperlink {color:blue;text-decoration:underline;}#yiv6248568970 a:visited, #yiv6248568970 span.yiv6248568970MsoHyperlinkFollowed {color:purple;text-decoration:underline;}#yiv6248568970 p.yiv6248568970MsoAcetate, #yiv6248568970 li.yiv6248568970MsoAcetate, #yiv6248568970 div.yiv6248568970MsoAcetate {margin:0in;margin-bottom:.0001pt;font-size:8.0pt;}#yiv6248568970 p.yiv6248568970msonormal, #yiv6248568970 li.yiv6248568970msonormal, #yiv6248568970 div.yiv6248568970msonormal {margin-right:0in;margin-left:0in;font-size:12.0pt;font-family:New;}#yiv6248568970 p.yiv6248568970msochpdefault, #yiv6248568970 li.yiv6248568970msochpdefault, #yiv6248568970 div.yiv6248568970msochpdefault {margin-right:0in;margin-left:0in;font-size:12.0pt;font-family:New;}#yiv6248568970 span.yiv6248568970msohyperlink {}#yiv6248568970 span.yiv6248568970msohyperlinkfollowed {}#yiv6248568970 span.yiv6248568970emailstyle17 {}#yiv6248568970 p.yiv6248568970msonormal1, #yiv6248568970 li.yiv6248568970msonormal1, #yiv6248568970 div.yiv6248568970msonormal1 {margin:0in;margin-bottom:.0001pt;font-size:12.0pt;}#yiv6248568970 span.yiv6248568970msohyperlink1 {color:blue;text-decoration:underline;}#yiv6248568970 span.yiv6248568970msohyperlinkfollowed1 {color:purple;text-decoration:underline;}#yiv6248568970 span.yiv6248568970emailstyle171 {color:#1F497D;}#yiv6248568970 p.yiv6248568970msochpdefault1, #yiv6248568970 li.yiv6248568970msochpdefault1, #yiv6248568970 div.yiv6248568970msochpdefault1 {margin-right:0in;margin-left:0in;font-size:10.0pt;font-family:New;}#yiv6248568970 span.yiv6248568970BalloonTextChar {}#yiv6248568970 span.yiv6248568970EmailStyle29 {color:#1F497D;}#yiv6248568970 .yiv6248568970MsoChpDefault {font-size:10.0pt;} _filtered #yiv6248568970 {margin:1.0in 1.0in 1.0in 1.0in;}#yiv6248568970 div.yiv6248568970WordSection1 {}#yiv6248568970
Degree of parallelism (DOP) is the number of logical parallel sets of producers and consumers that get started (parallel servers). For join queries there can be multiple sets at that degree of parallelism, so the number of “sessions” can grow pretty quickly.

The easiest way to get a start understanding it is to look at a sqlmonitor graphical report and you’ll see the sets of producers and consumers, and then read the various concepts sections about how it works. Controlling the maximum number of things spawned and things like downgrades is kindly described as a bit baroque, but at the bottom is the idea that Oracle really wants to achieve figuring out the degree and number of servers for you automatically.

mwf

 

From:oracle-l-***@freelists.org [mailto:oracle-l-***@freelists.org]On Behalf Of Sanjay Mishra (Redacted sender "smishra_97" for DMARC)
Sent: Wednesday, August 15, 2018 5:43 PM
To: dmarc-***@freelists.org; 'Oracle-L Freelists'; Mark W. Farnham
Subject: Re: RE: Oracle Partitioning and parallel DML

 

 

Mark

 

It is the session which is visible and yes Parallel DML was enabled for the session. Trying to understand as how Oracle create so many session which might be due to parallel queries and how they are related or how Oracle decide to start the number of parallel slaves.

 

Is it depending solely on enable PARALLEL DML setting like I had 5 here?

Is it depending on Partition in the involved table like for INSERT and SELECT?

 

 

Thanks

Sanjay

 

 

 

 

 

 

On Wednesday, August 15, 2018, 5:34:22 PM EDT, Mark W. Farnham <***@rsiz.com> wrote:

 

 

connections or sessions? Did you also enable parallel dml for the session?

 

From:oracle-l-***@freelists.org [mailto:oracle-l-***@freelists.org]On Behalf Of Sanjay Mishra (Redacted sender "smishra_97" for DMARC)
Sent: Wednesday, August 15, 2018 4:41 PM
To: Oracle-L Freelists
Subject: Oracle Partitioning and parallel DML

 

Can someone help to understand the Parallel DML doing INSERT and partitions? I had two partitioned table with 7 partitions in one table where Insert is going  and 5 partitions in the second table which is used in SELECT

 

Using session level force Paralle DML 5

INSERT /APPEND/ into 7_part_table select from 5Part_table

 

This is Oracle Exadata, 2 two node RAC with 12.1. I can see that the above insert create more than 20 connections and causing a high bottleneck to the system Resource and affecting the other process. Is it suppose to create these many processes.

 

DOP is manual

Table/corresponding Index Level Degree is set as 1 

 

TIA

Sanjay

Loading...