Round Robin and Parallel Forced to Serial
So we have a parallel process, coordinator 739 running, just not very well… I have an ugly pink section in my OEM grid and as we know, pink is not a DBA Girl’s favorite color… 🙂
Not so fast… the process, due to the wait on temp and then to buffer, has decided to “force” it to serial?
Description | OBJECT | Obj Node | Order | Rows | Bytes | Cost | In/Out | PQ Dist. |
CREATE TABLE STATEMENT | 12 | 3,200 | ||||||
PX COORDINATOR FORCED SERIAL | 11 | |||||||
PX SEND QC (RANDOM) | SYS.:TQ20001 | :Q2001 | 10 | 13,717,999 | 3.577G | 1,382 | P->S | QC (RAND) |
LOAD AS SELECT | :Q2001 | 9 | PCWP | |||||
BUFFER SORT | :Q2001 | 8 | PCWC | |||||
PX RECEIVE | :Q2001 | 7 | 13,717,999 | 3.577G | 1,382 | PCWP | ||
PX SEND ROUND-ROBIN | SYS.:TQ20000 | 6 | 13,717,999 | 3.577G | 1,382 | S->P | RND-ROBIN | |
COUNT | 5 | |||||||
PX COORDINATOR | 4 | |||||||
PX SEND QC (RANDOM) | SYS.:TQ10000 | :Q1000 | 3 | 13,717,999 | 3.577G | 1,382 | P->S | QC (RAND) |
PX BLOCK ITERATOR | :Q1000 | 2 | 13,717,999 | 3.577G | 1,382 | PCWC | ||
TABLE ACCESS FULL | SOURCE_STG_TBL | :Q1000 | 1 | 13,717,999 | 3.577G | 1,382 | PCWP |
…. but it doesn’t even show up in the downgraded info, which may surprise you at first, including the parallel waits, which still shows parallel, not serial…
1 601 226 601 16992 1 direct path write temp
2 714 233 601 17154 1 1 1 4 4 PX Deq Credit: send blkd
3 695 234 601 17156 1 1 1 4 4 PX Deq Credit: send blkd
4 730 231 601 17150 1 1 1 4 4 PX Deq Credit: send blkd
5 743 232 601 17152 1 1 1 4 4 PX Deq Credit: send blkd
6 681 39 681 30392 1 SQL*Net message from client
7 613 64 681 30807 1 1 1 4 4 PX Deq: Execution Msg
8 679 63 681 30805 1 1 1 4 4 PX Deq: Execution Msg
9 630 46 681 30801 1 1 1 4 4 PX Deq: Execution Msg
10 866 59 681 30803 1 1 1 4 4 PX Deq: Execution Msg
11 739 259 739 22253 1 direct path write temp
12 799 179 739 16166 1 1 1 4 4 PX Deq Credit: send blkd
13 647 189 739 16168 1 1 1 4 4 PX Deq Credit: send blkd
14 559 69 739 16162 1 1 1 4 4 PX Deq Credit: send blkd
15 842 115 739 16164 1 1 1 4 4 PX Deq Credit: send blkd
Both of the processes experiencing this type of downgrade are showing the same preformance issue,
no downgrade reported in the system, but it IS SHOWING in the explain plan and the performance of active sessions/memory workarea that it has downgraded to a serial process…
STATEMENT SQL_ID SID TEMP TBLSP WAIT MEM PGA TEMP |
create table OWNR1.LD_5793_876758_1545370 tablespace tbl__data1 3hyuj7fz1sz2k 739 LOAD WRITE BUFFERS 0 0 |
create table OWNR1.LD_5793_876758_1545370 tablespace tbl__data1 3hyuj7fz1sz2k 739 TEMP_4 BUFFER 21 95 4224 |
select a.Data_ID “M ID”, b.MID_2 “USER”, a.B 53j7g6yr175x8 762 SORT (v2) 0 0 |
select a.Data_ID “M ID”, b.MID_2 “USER”, a.B 53j7g6yr175x8 543 SORT (v2) 0 0 |
create table OWNR1.LD_NCOA2_875718_1545439 tablespace tbl__data 65rg8zjgz999u 723 LOAD WRITE BUFFERS 0 0 |
select r.id_1_id “Mg Id”, m.MID_2 “USER”, r.mid_3 6rv12jcj46k6j 658 SORT (v2) 0 0 |
select r.id_1_id “Mg Id”, m.MID_2 “USER”, r.mid_3 6rv12jcj46k6j 781 SORT (v2) 0 0 |
select r.id_1_id “Mg Id”, m.MID_2 “USER”, r.mid_3 6rv12jcj46k6j 560 SORT (v2) 0 0 |
create table proc_id_for_tbl_proc_id2 tablespace sj_data as sele 88d60nh8p7p2u 598 LOAD WRITE BUFFERS 0 0 |
create table proc_id_for_tbl_proc_id2 tablespace sj_data as sele 88d60nh8p7p2u 598 HASH-JOIN 128 133 |
create table proc_id_for_tbl_proc_id2 tablespace sj_data as sele 88d60nh8p7p2u 598 WINDOW (SORT) 0 0 |
create table OWNR1.LD_PROC_871297_1545102 tablespace tbl__data1 8whzq2fbsq751 835 LOAD WRITE BUFFERS 0 0 |
create table OWNR1.LD_PROC_871297_1545102 tablespace tbl__data1 8whzq2fbsq751 622 TEMP_1 WINDOW (SORT) 14 95 736 |
create table OWNR1.LD_PROC_871297_1545102 tablespace tbl__data1 8whzq2fbsq751 784 TEMP_3 WINDOW (SORT) 14 95 736 |
create table OWNR1.LD_PROC_871297_1545102 tablespace tbl__data1 8whzq2fbsq751 792 TEMP_2 WINDOW (SORT) 14 95 736 |
create table OWNR1.LD_PROC_871297_1545102 tablespace tbl__data1 8whzq2fbsq751 618 TEMP_4 WINDOW (SORT) 14 95 736 |
create table OWNR1.LD_5583_868568_1545298 tablespace tbl__data1 gfvk0jw7qc5k7 601 LOAD WRITE BUFFERS 0 0 |
create table OWNR1.LD_5583_868568_1545298 tablespace tbl__data1 gfvk0jw7qc5k7 601 TEMP_3 BUFFER 25 95 6672 |
So what’s up?
The load as select in the last step of the CTAS is not parallelized- no parallel dml has been enabled or parallel hinted in the beginning of the statement, so the statement has downgraded to serial to complete the final step.
OK, now I know it’s time to look into ensuring the development group is enabling parallel DML next to spread across the temp tablespace groups more efficiently…
Pingback: Renaming an Oracle Apache Target in EM12c - Oracle - Oracle - Toad World