Upload
votram
View
226
Download
1
Embed Size (px)
Citation preview
WhoAmIIvicaArsov
- Databaseconsultant- Pythian- ACEAssociate- Certifications
- OracleDatabase12cAdministratorCertifiedMaster- OracleDatabase11gAdministratorCertifiedMaster- OracleCertifiedExpert,OracleExadataX3andX4Administrator- OracleCertifiedExpert,OracleRealApplicationClusters11gandGridInfrastructureAdministrator- OracleDatabase12cAdministratorCertifiedProfessional- OracleDatabase11gAdministratorCertifiedProfessional
Blog:https://iarsov.com
LinkedIn:www.linkedin.com/in/iarsov
Twitter:@IvicaArsov
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 2
Agenda
• Parallel Execution Basics
• Auto DOP
• Distribution Methods§ Focus on HASH / BROADCAST
• Blocking/Non-Blocking Operations
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 3
FirstThingsFirst- Terminology
• DOP – number of processes used for single operation
• Producer/Consumer model = DOPx2
• DOP – Degree of Parallelism• TQ – Table Queues
• DFO – Data Flow Operation• DFO Tree – Data Flow Operation Tree
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 4
ParallelismGranules
• The basic unit of work
• Block Range Granules
• Partitions Granules
• No option for enforcing specific granule
• The number of granules correlate with the number of PX servers
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 5
WaystoEnableParallelExecution
• Parallel degree on object levelALTER TABLE ... PARALLEL
• Force parallel executionALTER SESSION FORCE PARALLEL QUERY PARALLEL n
• HintsSELECT /*+ PARALLEL(n) */ ...FROM ...WHERE ...
• Auto DoP§ Optimizer determines the DoP
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 6
TableQueues
• Serve as communication containers between parallel execution servers
• Related statistics can be found in V$PQ_TQSTAT
DFO_NUMBER
TQ_ID
SERVER_TYPE
NUM_ROWS
BYTES
Other columns: OPEN_TIME, AVG_LATENCY, WAITS, TIMEOUTS, PROCESS, INSTANCE, CON_ID
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 8
select customers.columnfrom customers, saleswhere customers.cust_id = sales.cust_id
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 9
------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| TQ |IN-OUT| PQ Distrib |
------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 918K| 165 (2)| | | |
| 1 | PX COORDINATOR | | | | | | |
| 2 | PX SEND QC (RANDOM) | :TQ10002 | 918K| 165 (2)| Q1,02 | P->S | QC (RAND) |
|* 3 | HASH JOIN BUFFERED | | 918K| 165 (2)| Q1,02 | PCWP | |
| 4 | PX RECEIVE | | 55500 | 74 (0)| Q1,02 | PCWP | |
| 5 | PX SEND HASH | :TQ10000 | 55500 | 74 (0)| Q1,00 | P->P | HASH |
| 6 | PX BLOCK ITERATOR | | 55500 | 74 (0)| Q1,00 | PCWC | |
| 7 | TABLE ACCESS FULL| CUSTOMERS | 55500 | 74 (0)| Q1,00 | PCWP | |
| 8 | PX RECEIVE | | 918K| 90 (2)| Q1,02 | PCWP | |
| 9 | PX SEND HASH | :TQ10001 | 918K| 90 (2)| Q1,01 | P->P | HASH |
| 10 | PX BLOCK ITERATOR | | 918K| 90 (2)| Q1,01 | PCWC | |
| 11 | TABLE ACCESS FULL| SALES | 918K| 90 (2)| Q1,01 | PCWP | |
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 10
6/19/17
T1s1
s2s2
s1
:TQ1001 T2
DOP=2
:TQ1000
s4
s3
iarsov.com- 2017©IvicaArsovOracleACEAssociate 12
6/19/17
T1 :TQ1000
s1
s2
s4
s3 s2
s1
:TQ1001 T2
:TQ1002
QC
DOP=2
iarsov.com- 2017©IvicaArsovOracleACEAssociate 13
SimpleNo-Sorting/ Producer->Coordinator
SELECT Col1,Col2,Col3,Coln
FROM T1;
--------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
--------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1000K| 24M| 208 (1)| 00:00:01 | | | |
| 1 | PX COORDINATOR | | | | | | | | |
| 2 | PX SEND QC (RANDOM)| :TQ10000 | 1000K| 24M| 208 (1)| 00:00:01 | Q1,00 | P->S | QC (RAND) |
| 3 | PX BLOCK ITERATOR | | 1000K| 24M| 208 (1)| 00:00:01 | Q1,00 | PCWC | |
| 4 | TABLE ACCESS FULL| T1 | 1000K| 24M| 208 (1)| 00:00:01 | Q1,00 | PCWP | |
--------------------------------------------------------------------------------------------------------------
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 14
SimplePlanSorting/ Producer- ConsumerModel
SELECT Col1,Col2,Col3,Coln
FROM T1
ORDER BY Col2,Col3;
-------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
-------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1000K| 24M| | 215 (4)| 00:00:01 | | | |
| 1 | PX COORDINATOR | | | | | | | | | |
| 2 | PX SEND QC (ORDER) | :TQ10001 | 1000K| 24M| | 215 (4)| 00:00:01 | Q1,01 | P->S | QC (ORDER) |
| 3 | SORT ORDER BY | | 1000K| 24M| 34M| 215 (4)| 00:00:01 | Q1,01 | PCWP | |
| 4 | PX RECEIVE | | 1000K| 24M| | 208 (1)| 00:00:01 | Q1,01 | PCWP | |
| 5 | PX SEND RANGE | :TQ10000 | 1000K| 24M| | 208 (1)| 00:00:01 | Q1,00 | P->P | RANGE |
| 6 | PX BLOCK ITERATOR | | 1000K| 24M| | 208 (1)| 00:00:01 | Q1,00 | PCWC | |
| 7 | TABLE ACCESS FULL| T1 | 1000K| 24M| | 208 (1)| 00:00:01 | Q1,00 | PCWP | |
-------------------------------------------------------------------------------------------------------------------------
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 15
SimplePlanSorting/ Producer- ConsumerModel
SELECT Col1,Col2,Col3,Coln
FROM T1
ORDER BY Col2,Col3;
-------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
-------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1000K| 24M| | 215 (4)| 00:00:01 | | | |
| 1 | PX COORDINATOR | | | | | | | | | |
| 2 | PX SEND QC (ORDER) | :TQ10001 | 1000K| 24M| | 215 (4)| 00:00:01 | Q1,01 | P->S | QC (ORDER) |
| 3 | SORT ORDER BY | | 1000K| 24M| 34M| 215 (4)| 00:00:01 | Q1,01 | PCWP | |
| 4 | PX RECEIVE | | 1000K| 24M| | 208 (1)| 00:00:01 | Q1,01 | PCWP | |
| 5 | PX SEND RANGE | :TQ10000 | 1000K| 24M| | 208 (1)| 00:00:01 | Q1,00 | P->P | RANGE |
| 6 | PX BLOCK ITERATOR | | 1000K| 24M| | 208 (1)| 00:00:01 | Q1,00 | PCWC | |
| 7 | TABLE ACCESS FULL| T1 | 1000K| 24M| | 208 (1)| 00:00:01 | Q1,00 | PCWP | |
-------------------------------------------------------------------------------------------------------------------------
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 16
DFO(DataFlowOperation)andDFOTrees
• Data Flow Operation - basic unit of work carried by PX servers
• Identified by PX SEND operation
• Multiple DFO’s can appear - One DFO = 1 PX server set is being used- Multiple DFO’s = most of 2 PX server sets are being used
• DFO’s are grouped under one DFO Tree (PX Coordinator)
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 17
DFO(DataFlowOperation)andDFOTrees
---------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
---------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 55500 | 1083K| 147 (0)| 00:00:01 | | | |
| 1 | PX COORDINATOR | | | | | | | | |
| 2 | PX SEND QC (RANDOM)| :TQ10000 | 55500 | 1083K| 147 (0)| 00:00:01 | Q1,00 | P->S | QC (RAND) |
| 3 | PX BLOCK ITERATOR | | 55500 | 1083K| 147 (0)| 00:00:01 | Q1,00 | PCWC | |
| 4 | TABLE ACCESS FULL| CUSTOMERS | 55500 | 1083K| 147 (0)| 00:00:01 | Q1,00 | PCWP | |
---------------------------------------------------------------------------------------------------------------
6/19/17
Data Flow Operation
DFO tree Root
iarsov.com- 2017©IvicaArsovOracleACEAssociate 18
DFO(DataFlowOperation)andDFOTrees
STATISTIC LAST_QUERY SESSION_TOTAL CON_ID
------------------------------ ---------- ------------- ----------
Queries Parallelized 1 3 0
DML Parallelized 0 0 0
DDL Parallelized 0 0 0
DFO Trees 1 4 0
Server Threads 2 0 0
Allocation Height 2 0 0
Allocation Width 1 0 0
Local Msgs Sent 40 106 0
Distr Msgs Sent 0 0 0
Local Msgs Recv'd 38 100 0
Distr Msgs Recv'd 0 0 0
DOP 2 0 0
Slave Sets 1 0 0
6/19/17
view: V$PQ_SESSTAT
iarsov.com- 2017©IvicaArsovOracleACEAssociate 19
AutoDoP
• Optimizer’s estimate decides whether SQL should run in Parallel or Serial mode
• Doesn’t require object level settings nor hints
• Serial queries can suddenly start running in parallel and vice versa
• Controlled by:• PARALLE_DEGREE_POLICY = MANUAL | AUTO | LIMITED | ADAPTIVE
• PARALLEL_MIN_TIME_THRESHOLD = AUTO | integer
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 20
Ways to limit Auto DoP
• PARALLEL_DEGREE_LIMIT - system-wide
- CPU | IO | integer
• Resource Manager - user/application level limit
- parallel_degree_limit_p1
What is the maximum auto DoP ?
Max DOP = MIN (DEFAULT DOP, PARALLEL_DEGREE_LIMIT, DBRM DIRECTIVE PARALLEL_DEGREE_LIMIT_P1)
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 21
DistributionMethods
• HASH(HYBRIDHASH12c)
• BROADCAST- algorithmchangein12c
• RANGE
• PARTITION
• ROUNDROBIN
• QC(RANDOM)
• QC(ORDER)
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 22
6/19/17
TableRows
PXslave1
PXslave2
HASHDistribution
HASHFUNCTIO
N
iarsov.com- 2017©IvicaArsovOracleACEAssociate 23
6/19/17
PXslave1
PXslave2
TableRows
BROADCASTDistribution
iarsov.com- 2017©IvicaArsovOracleACEAssociate 24
select count(*) from t1,t2 where t1.id = t2.id;
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 25
-------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
-------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 8 | 1475 (1)| 00:00:01 | | | |
| 1 | SORT AGGREGATE | | 1 | 8 | | | | | |
| 2 | PX COORDINATOR | | | | | | | | |
| 3 | PX SEND QC (RANDOM) | :TQ10002 | 1 | 8 | | | Q1,02 | P->S | QC (RAND) |
| 4 | SORT AGGREGATE | | 1 | 8 | | | Q1,02 | PCWP | |
|* 5 | HASH JOIN | | 100K| 781K| 1475 (1)| 00:00:01 | Q1,02 | PCWP | |
| 6 | PX RECEIVE | | 100K| 292K| 2 (0)| 00:00:01 | Q1,02 | PCWP | |
| 7 | PX SEND HASH | :TQ10000 | 100K| 292K| 2 (0)| 00:00:01 | Q1,00 | P->P | HASH |
| 8 | PX BLOCK ITERATOR | | 100K| 292K| 2 (0)| 00:00:01 | Q1,00 | PCWC | |
| 9 | TABLE ACCESS FULL| T1 | 100K| 292K| 2 (0)| 00:00:01 | Q1,00 | PCWP | |
| 10 | PX RECEIVE | | 1000K| 4882K| 1471 (1)| 00:00:01 | Q1,02 | PCWP | |
| 11 | PX SEND HASH | :TQ10001 | 1000K| 4882K| 1471 (1)| 00:00:01 | Q1,01 | P->P | HASH |
| 12 | PX BLOCK ITERATOR | | 1000K| 4882K| 1471 (1)| 00:00:01 | Q1,01 | PCWC | |
| 13 | TABLE ACCESS FULL| T2 | 1000K| 4882K| 1471 (1)| 00:00:01 | Q1,01 | PCWP | |
-------------------------------------------------------------------------------------------------------------------
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 26
-------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
-------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 8 | 1475 (1)| 00:00:01 | | | |
| 1 | SORT AGGREGATE | | 1 | 8 | | | | | |
| 2 | PX COORDINATOR | | | | | | | | |
| 3 | PX SEND QC (RANDOM) | :TQ10002 | 1 | 8 | | | Q1,02 | P->S | QC (RAND) |
| 4 | SORT AGGREGATE | | 1 | 8 | | | Q1,02 | PCWP | |
|* 5 | HASH JOIN | | 100K| 781K| 1475 (1)| 00:00:01 | Q1,02 | PCWP | |
| 6 | PX RECEIVE | | 100K| 292K| 2 (0)| 00:00:01 | Q1,02 | PCWP | |
| 7 | PX SEND HASH | :TQ10000 | 100K| 292K| 2 (0)| 00:00:01 | Q1,00 | P->P | HASH |
| 8 | PX BLOCK ITERATOR | | 100K| 292K| 2 (0)| 00:00:01 | Q1,00 | PCWC | |
| 9 | TABLE ACCESS FULL| T1 | 100K| 292K| 2 (0)| 00:00:01 | Q1,00 | PCWP | |
| 10 | PX RECEIVE | | 1000K| 4882K| 1471 (1)| 00:00:01 | Q1,02 | PCWP | |
| 11 | PX SEND HASH | :TQ10001 | 1000K| 4882K| 1471 (1)| 00:00:01 | Q1,01 | P->P | HASH |
| 12 | PX BLOCK ITERATOR | | 1000K| 4882K| 1471 (1)| 00:00:01 | Q1,01 | PCWC | |
| 13 | TABLE ACCESS FULL| T2 | 1000K| 4882K| 1471 (1)| 00:00:01 | Q1,01 | PCWP | |
-------------------------------------------------------------------------------------------------------------------
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 27
-------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
-------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 8 | 1475 (1)| 00:00:01 | | | |
| 1 | SORT AGGREGATE | | 1 | 8 | | | | | |
| 2 | PX COORDINATOR | | | | | | | | |
| 3 | PX SEND QC (RANDOM) | :TQ10002 | 1 | 8 | | | Q1,02 | P->S | QC (RAND) |
| 4 | SORT AGGREGATE | | 1 | 8 | | | Q1,02 | PCWP | |
|* 5 | HASH JOIN | | 100K| 781K| 1475 (1)| 00:00:01 | Q1,02 | PCWP | |
| 6 | PX RECEIVE | | 100K| 292K| 2 (0)| 00:00:01 | Q1,02 | PCWP | |
| 7 | PX SEND HASH | :TQ10000 | 100K| 292K| 2 (0)| 00:00:01 | Q1,00 | P->P | HASH |
| 8 | PX BLOCK ITERATOR | | 100K| 292K| 2 (0)| 00:00:01 | Q1,00 | PCWC | |
| 9 | TABLE ACCESS FULL| T1 | 100K| 292K| 2 (0)| 00:00:01 | Q1,00 | PCWP | |
| 10 | PX RECEIVE | | 1000K| 4882K| 1471 (1)| 00:00:01 | Q1,02 | PCWP | |
| 11 | PX SEND HASH | :TQ10001 | 1000K| 4882K| 1471 (1)| 00:00:01 | Q1,01 | P->P | HASH |
| 12 | PX BLOCK ITERATOR | | 1000K| 4882K| 1471 (1)| 00:00:01 | Q1,01 | PCWC | |
| 13 | TABLE ACCESS FULL| T2 | 1000K| 4882K| 1471 (1)| 00:00:01 | Q1,01 | PCWP | |
-------------------------------------------------------------------------------------------------------------------
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 28
TQ_ID SERVER_TYP INSTANCE PROCESS NUM_ROWS PCT GRAPH
---------- ---------- ---------- -------- ---------- ---------- ----------
0 Producer 1 P004 232068 23 #########
P005 265118 27 ##########
P006 232068 23 #########
P007 270746 27 ##########
Consumer 1 P000 250354 25 ##########
P001 249878 25 ##########
P002 249858 25 ##########
P003 249910 25 ##########
6/19/17
Uniform distribution of T1view: V$PQ_TQSTAT
iarsov.com- 2017©IvicaArsovOracleACEAssociate 29
TQ_ID SERVER_TYP INSTANCE PROCESS NUM_ROWS PCT GRAPH
---------- ---------- ---------- -------- ---------- ---------- ----------
...
1 Producer 1 P004 250903 25 #########
P005 251024 25 #########
P006 265834 27 ##########
P007 232239 23 #########
Consumer 1 P000 251126 25 ##########
P001 249062 25 ##########
P002 250674 25 ##########
P003 249138 25 ##########
6/19/17
Uniform distribution of T2view: V$PQ_TQSTAT
iarsov.com- 2017©IvicaArsovOracleACEAssociate 30
HASHDistributionMethod- Skewdata
T1 – 2M rows
T2 – 2M rows
250K rows unique
1750K rows duplicate on T1_ID* column
* T2 has foreign key to T1.ID
select t1.string_rnd,
t2.string_rnd
from t1,t2
where t1.id = t2.t1_id;
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 31
-----------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
-----------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 250K| 12M| 484 (2)| 00:00:01 | | | |
| 1 | PX COORDINATOR | | | | | | | | |
| 2 | PX SEND QC (RANDOM) | :TQ10002 | 250K| 12M| 484 (2)| 00:00:01 | Q1,02 | P->S | QC (RAND) |
|* 3 | HASH JOIN BUFFERED | | 250K| 12M| 484 (2)| 00:00:01 | Q1,02 | PCWP | |
| 4 | PX RECEIVE | | 2000K| 49M| 421 (1)| 00:00:01 | Q1,02 | PCWP | |
| 5 | PX SEND HASH | :TQ10000 | 2000K| 49M| 421 (1)| 00:00:01 | Q1,00 | P->P | HASH |
| 6 | PX BLOCK ITERATOR | | 2000K| 49M| 421 (1)| 00:00:01 | Q1,00 | PCWC | |
| 7 | TABLE ACCESS FULL| T1 | 2000K| 49M| 421 (1)| 00:00:01 | Q1,00 | PCWP | |
| 8 | PX RECEIVE | | 250K| 6347K| 61 (2)| 00:00:01 | Q1,02 | PCWP | |
| 9 | PX SEND HASH | :TQ10001 | 250K| 6347K| 61 (2)| 00:00:01 | Q1,01 | P->P | HASH |
| 10 | PX BLOCK ITERATOR | | 250K| 6347K| 61 (2)| 00:00:01 | Q1,01 | PCWC | |
| 11 | TABLE ACCESS FULL| T2 | 250K| 6347K| 61 (2)| 00:00:01 | Q1,01 | PCWP | |
-----------------------------------------------------------------------------------------------------------------
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 32
TQ_ID SERVER_TYP INSTANCE PROCESS NUM_ROWS PCT GRAPH
---------- ---------- ---------- -------- ---------- ---------- ----------
0 Producer 1 P004 500640 25 #########
P005 498921 25 #########
P006 463007 23 #########
P007 537432 27 ##########
Consumer 1 P000 500363 25 ##########
P001 500256 25 ##########
P002 499609 25 ##########
P003 499772 25 ##########
6/19/17
Uniform distribution of T1view: V$PQ_TQSTAT
iarsov.com- 2017©IvicaArsovOracleACEAssociate 33
TQ_ID SERVER_TYP INSTANCE PROCESS NUM_ROWS PCT GRAPH
---------- ---------- ---------- -------- ---------- ---------- ----------
...
1 Producer 1 P004 502266 25 ##########
P005 493795 25 ##########
P006 502313 25 ##########
P007 501626 25 ##########
Consumer 1 P000 62558 3
P001 62546 3
P002 62427 3
P003 1812469 91 ##########
6/19/17
Non-Uniform distribution of T2view: V$PQ_TQSTAT
iarsov.com- 2017©IvicaArsovOracleACEAssociate 34
HYBRIDHASH
• Adapts the distribution method at runtime
• If number of rows < DOP*2 the source is broadcast
• Identified by PX SEND HYBRID HASH and STATISTICS COLLECTOR
Demo
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 35
HASHDistributionMethod- Skewdata
PARAMETER_NAME PARAMETER_DESC SESS SYS
------------------------ ------------------------------------------------------------ ------ --------
_px_join_skew_handling enables skew handling for parallel joins TRUE TRUE
_px_join_skew_ratio sets skew ratio for parallel joins 10 10
_px_join_skew_minfreq sets minimum frequency(%) for skewed value for parallel joins 30 30
begin
dbms_stats.gather_table_stats(null,'t2',method_opt=>'for all columns size 1 for columns size 254 t1_id',no_invalidate => false);
end;/
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 36
TQ_ID SERVER_TYP INSTANCE PROCESS NUM_ROWS
---------- ---------- ---------- -------- ----------
0 Producer 1 P004 501273
P005 461496
P006 535080
P007 502154
----------
2000003
Consumer 1 P000 499616
P001 500734
P002 499522
P003 500131
6/19/17
Popular value is broadcasted to all processes
view: V$PQ_TQSTAT
iarsov.com- 2017©IvicaArsovOracleACEAssociate 37
TQ_ID SERVER_TYP INSTANCE PROCESS NUM_ROWS
---------- ---------- ---------- -------- ----------
...
1 Producer 1 P004 502266
P005 504034
P006 493762
P007 499938
Consumer 1 P000 499962
P001 499930
P002 499805
P003 500303
6/19/17
ROUND ROBIN / RANDOMDistribution for skew data rows
view: V$PQ_TQSTAT
iarsov.com- 2017©IvicaArsovOracleACEAssociate 38
BROADCASTdistributionmethod
• Mosteffectivewhenoneoftheresultsetsismuchsmallerthantheother
• DataisdistributedtoallPXservers
• Largerresultssetdoesn’thavetobere-distributed
• StatisticsareveryimportantforCBOtogenerateeffectiveplan
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 39
--------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
--------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2014 | 450 (1)| 00:00:01 | | | |
|* 1 | COUNT STOPKEY | | | | | | | | |
| 2 | PX COORDINATOR | | | | | | | | |
| 3 | PX SEND QC (RANDOM) | :TQ10001 | 1000K| 1920M| 450 (1)| 00:00:01 | Q1,01 | P->S | QC (RAND) |
|* 4 | COUNT STOPKEY | | | | | | Q1,01 | PCWC | |
| 5 | VIEW | | 1000K| 1920M| 450 (1)| 00:00:01 | Q1,01 | PCWP | |
|* 6 | HASH JOIN | | 1000K| 49M| 450 (1)| 00:00:01 | Q1,01 | PCWP | |
| 7 | PX RECEIVE | | 1000K| 24M| 208 (1)| 00:00:01 | Q1,01 | PCWP | |
| 8 | PX SEND BROADCAST | :TQ10000 | 1000K| 24M| 208 (1)| 00:00:01 | Q1,00 | P->P | BROADCAST |
| 9 | PX BLOCK ITERATOR | | 1000K| 24M| 208 (1)| 00:00:01 | Q1,00 | PCWC | |
| 10 | TABLE ACCESS FULL| T1 | 1000K| 24M| 208 (1)| 00:00:01 | Q1,00 | PCWP | |
| 11 | PX BLOCK ITERATOR | | 1000K| 24M| 241 (1)| 00:00:01 | Q1,01 | PCWC | |
| 12 | TABLE ACCESS FULL | T2 | 1000K| 24M| 241 (1)| 00:00:01 | Q1,01 | PCWP | |
--------------------------------------------------------------------------------------------------------------------
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 40
--------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
--------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2014 | 450 (1)| 00:00:01 | | | |
|* 1 | COUNT STOPKEY | | | | | | | | |
| 2 | PX COORDINATOR | | | | | | | | |
| 3 | PX SEND QC (RANDOM) | :TQ10001 | 1000K| 1920M| 450 (1)| 00:00:01 | Q1,01 | P->S | QC (RAND) |
|* 4 | COUNT STOPKEY | | | | | | Q1,01 | PCWC | |
| 5 | VIEW | | 1000K| 1920M| 450 (1)| 00:00:01 | Q1,01 | PCWP | |
|* 6 | HASH JOIN | | 1000K| 49M| 450 (1)| 00:00:01 | Q1,01 | PCWP | |
| 7 | PX RECEIVE | | 1000K| 24M| 208 (1)| 00:00:01 | Q1,01 | PCWP | |
| 8 | PX SEND BROADCAST | :TQ10000 | 1000K| 24M| 208 (1)| 00:00:01 | Q1,00 | P->P | BROADCAST |
| 9 | PX BLOCK ITERATOR | | 1000K| 24M| 208 (1)| 00:00:01 | Q1,00 | PCWC | |
| 10 | TABLE ACCESS FULL| T1 | 1000K| 24M| 208 (1)| 00:00:01 | Q1,00 | PCWP | |
| 11 | PX BLOCK ITERATOR | | 1000K| 24M| 241 (1)| 00:00:01 | Q1,01 | PCWC | |
| 12 | TABLE ACCESS FULL | T2 | 1000K| 24M| 241 (1)| 00:00:01 | Q1,01 | PCWP | |
--------------------------------------------------------------------------------------------------------------------
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 41
--------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
--------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2014 | 450 (1)| 00:00:01 | | | |
|* 1 | COUNT STOPKEY | | | | | | | | |
| 2 | PX COORDINATOR | | | | | | | | |
| 3 | PX SEND QC (RANDOM) | :TQ10001 | 1000K| 1920M| 450 (1)| 00:00:01 | Q1,01 | P->S | QC (RAND) |
|* 4 | COUNT STOPKEY | | | | | | Q1,01 | PCWC | |
| 5 | VIEW | | 1000K| 1920M| 450 (1)| 00:00:01 | Q1,01 | PCWP | |
|* 6 | HASH JOIN | | 1000K| 49M| 450 (1)| 00:00:01 | Q1,01 | PCWP | |
| 7 | PX RECEIVE | | 1000K| 24M| 208 (1)| 00:00:01 | Q1,01 | PCWP | |
| 8 | PX SEND BROADCAST | :TQ10000 | 1000K| 24M| 208 (1)| 00:00:01 | Q1,00 | P->P | BROADCAST |
| 9 | PX BLOCK ITERATOR | | 1000K| 24M| 208 (1)| 00:00:01 | Q1,00 | PCWC | |
| 10 | TABLE ACCESS FULL| T1 | 1000K| 24M| 208 (1)| 00:00:01 | Q1,00 | PCWP | |
| 11 | PX BLOCK ITERATOR | | 1000K| 24M| 241 (1)| 00:00:01 | Q1,01 | PCWC | |
| 12 | TABLE ACCESS FULL | T2 | 1000K| 24M| 241 (1)| 00:00:01 | Q1,01 | PCWP | |
--------------------------------------------------------------------------------------------------------------------
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 42
TQ_ID SERVER_TYP INSTANCE PROCESS NUM_ROWS PCT GRAPH
---------- ---------- ---------- -------- ---------- ---------- ----------
0 Producer 1 P004 1005628 25 ##########
P005 1005628 25 ##########
P006 1005628 25 ##########
P007 983116 25 ##########
Consumer 1 P000 1000000 25 ##########
P001 1000000 25 ##########
P002 1000000 25 ##########
P003 1000000 25 ##########
6/19/17
view: V$PQ_TQSTAT
iarsov.com- 2017©IvicaArsovOracleACEAssociate 43
BROADCASTdistributionmethod- 12cchanges
• One virtual table
• One set of parallel query slaves
• inter-process communication is eliminated
• Outer source is fully read by each PX server
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 44
---------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
---------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1000K| 49M| 450 (1)| 00:00:01 | | | |
| 1 | PX COORDINATOR | | | | | | | | |
| 2 | PX SEND QC (RANDOM) | :TQ10000 | 1000K| 49M| 450 (1)| 00:00:01 | Q1,00 | P->S | QC (RAND) |
|* 3 | HASH JOIN | | 1000K| 49M| 450 (1)| 00:00:01 | Q1,00 | PCWP | |
| 4 | TABLE ACCESS FULL | T1 | 1000K| 24M| 208 (1)| 00:00:01 | Q1,00 | PCWP | |
| 5 | PX BLOCK ITERATOR | | 1000K| 24M| 241 (1)| 00:00:01 | Q1,00 | PCWC | |
| 6 | TABLE ACCESS FULL| T2 | 1000K| 24M| 241 (1)| 00:00:01 | Q1,00 | PCWP | |
---------------------------------------------------------------------------------------------------------------
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 45
---------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
---------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1000K| 49M| 450 (1)| 00:00:01 | | | |
| 1 | PX COORDINATOR | | | | | | | | |
| 2 | PX SEND QC (RANDOM) | :TQ10000 | 1000K| 49M| 450 (1)| 00:00:01 | Q1,00 | P->S | QC (RAND) |
|* 3 | HASH JOIN | | 1000K| 49M| 450 (1)| 00:00:01 | Q1,00 | PCWP | |
| 4 | TABLE ACCESS FULL | T1 | 1000K| 24M| 208 (1)| 00:00:01 | Q1,00 | PCWP | |
| 5 | PX BLOCK ITERATOR | | 1000K| 24M| 241 (1)| 00:00:01 | Q1,00 | PCWC | |
| 6 | TABLE ACCESS FULL| T2 | 1000K| 24M| 241 (1)| 00:00:01 | Q1,00 | PCWP | |
---------------------------------------------------------------------------------------------------------------
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 46
Blocking/Non-BlockingOperations
• Producer/Consumermodellimitations
• Ifthedatahastobeprocessedbynext(different)PXSlavesetithastobe“parked”
• Trueblockingoperations
• Artificialblockingoperations- HASH JOIN BUFFERED
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 47
TrueBlockingOperations
select count(*) from t1,t2 where t1.id = t2.id;
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 48
-------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
-------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 52 | 901 (1)| 00:00:01 | | | |
| 1 | SORT AGGREGATE | | 1 | 52 | | | | | |
| 2 | PX COORDINATOR | | | | | | | | |
| 3 | PX SEND QC (RANDOM) | :TQ10002 | 1 | 52 | | | Q1,02 | P->S | QC (RAND) |
| 4 | SORT AGGREGATE | | 1 | 52 | | | Q1,02 | PCWP | |
|* 5 | HASH JOIN | | 1000K| 49M| 901 (1)| 00:00:01 | Q1,02 | PCWP | |
| 6 | PX RECEIVE | | 1000K| 24M| 416 (1)| 00:00:01 | Q1,02 | PCWP | |
| 7 | PX SEND HASH | :TQ10000 | 1000K| 24M| 416 (1)| 00:00:01 | Q1,00 | P->P | HASH |
| 8 | PX BLOCK ITERATOR | | 1000K| 24M| 416 (1)| 00:00:01 | Q1,00 | PCWC | |
| 9 | TABLE ACCESS FULL| T1 | 1000K| 24M| 416 (1)| 00:00:01 | Q1,00 | PCWP | |
| 10 | PX RECEIVE | | 1000K| 24M| 481 (1)| 00:00:01 | Q1,02 | PCWP | |
| 11 | PX SEND HASH | :TQ10001 | 1000K| 24M| 481 (1)| 00:00:01 | Q1,01 | P->P | HASH |
| 12 | PX BLOCK ITERATOR | | 1000K| 24M| 481 (1)| 00:00:01 | Q1,01 | PCWC | |
| 13 | TABLE ACCESS FULL| T2 | 1000K| 24M| 481 (1)| 00:00:01 | Q1,01 | PCWP | |
-------------------------------------------------------------------------------------------------------------------6/19/17
TrueBlockingOperations
iarsov.com- 2017©IvicaArsovOracleACEAssociate 49
TrueBlockingOperations
6/19/17
PX1
:TQ10000
PX2
BUILD HASH TABLE
PX1
:TQ10001
PX2
SORT AGGREGATE
PX2
PROBES
PX2
QC
:TQ10002
PX SEND HASH PX SEND HASH
PX SEND QC (RAND)PX RECEIVE PX RECEIVE
True blocking operation
T1 T2
iarsov.com- 2017©IvicaArsovOracleACEAssociate 50
ArtificialBlockingOperations
select t1.*, t2.*from t1,t2 where t1.id = t2.id;
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 51
-----------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
-----------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1000K| 49M| 901 (1)| 00:00:01 | | | |
| 1 | PX COORDINATOR | | | | | | | | |
| 2 | PX SEND QC (RANDOM) | :TQ10002 | 1000K| 49M| 901 (1)| 00:00:01 | Q1,02 | P->S | QC (RAND) |
|* 3 | HASH JOIN BUFFERED | | 1000K| 49M| 901 (1)| 00:00:01 | Q1,02 | PCWP | |
| 4 | PX RECEIVE | | 1000K| 24M| 416 (1)| 00:00:01 | Q1,02 | PCWP | |
| 5 | PX SEND HASH | :TQ10000 | 1000K| 24M| 416 (1)| 00:00:01 | Q1,00 | P->P | HASH |
| 6 | PX BLOCK ITERATOR | | 1000K| 24M| 416 (1)| 00:00:01 | Q1,00 | PCWC | |
| 7 | TABLE ACCESS FULL| T1 | 1000K| 24M| 416 (1)| 00:00:01 | Q1,00 | PCWP | |
| 8 | PX RECEIVE | | 1000K| 24M| 481 (1)| 00:00:01 | Q1,02 | PCWP | |
| 9 | PX SEND HASH | :TQ10001 | 1000K| 24M| 481 (1)| 00:00:01 | Q1,01 | P->P | HASH |
| 10 | PX BLOCK ITERATOR | | 1000K| 24M| 481 (1)| 00:00:01 | Q1,01 | PCWC | |
| 11 | TABLE ACCESS FULL| T2 | 1000K| 24M| 481 (1)| 00:00:01 | Q1,01 | PCWP | |
-----------------------------------------------------------------------------------------------------------------
6/19/17
ArtificialBlockingOperations
iarsov.com- 2017©IvicaArsovOracleACEAssociate 52
ArtificialBlockingOperations
6/19/17
PX1
:TQ10000
PX2
BUILD HASH TABLE
PX1
:TQ10001
PX2
BUFFERS MATCHED ROWS
QC
:TQ10002
PX SEND HASH PX SEND HASH
PX SEND QC (RAND)PX RECEIVE PX RECEIVE
Artificial blockingoperation
T1 T2
PX2
iarsov.com- 2017©IvicaArsovOracleACEAssociate 53
select t1.*, t2.*from t1,t2 where t1.id = t2.idorder by 1;
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 54
--------------------------------------------------------------------------------------------------------------| Id | Operation | Name | Rows | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |--------------------------------------------------------------------------------------------------------------| 0 | SELECT STATEMENT | | 200K| 14 (22)| 00:00:01 | | | || 1 | PX COORDINATOR | | | | | | | || 2 | PX SEND QC (ORDER) | :TQ10003 | 200K| 14 (22)| 00:00:01 | Q1,03 | P->S | QC (ORDER) || 3 | SORT ORDER BY | | 200K| 14 (22)| 00:00:01 | Q1,03 | PCWP | || 4 | PX RECEIVE | | 200K| 12 (9)| 00:00:01 | Q1,03 | PCWP | || 5 | PX SEND RANGE | :TQ10002 | 200K| 12 (9)| 00:00:01 | Q1,02 | P->P | RANGE ||* 6 | HASH JOIN BUFFERED | | 200K| 12 (9)| 00:00:01 | Q1,02 | PCWP | || 7 | PX RECEIVE | | 20000 | 3 (0)| 00:00:01 | Q1,02 | PCWP | || 8 | PX SEND HASH | :TQ10000 | 20000 | 3 (0)| 00:00:01 | Q1,00 | P->P | HASH || 9 | PX BLOCK ITERATOR | | 20000 | 3 (0)| 00:00:01 | Q1,00 | PCWC | || 10 | TABLE ACCESS FULL | T2 | 20000 | 3 (0)| 00:00:01 | Q1,00 | PCWP | || 11 | PX RECEIVE | | 200K| 8 (0)| 00:00:01 | Q1,02 | PCWP | || 12 | PX SEND HASH | :TQ10001 | 200K| 8 (0)| 00:00:01 | Q1,01 | P->P | HASH || 13 | PX BLOCK ITERATOR | | 200K| 8 (0)| 00:00:01 | Q1,01 | PCWC | || 14 | TABLE ACCESS FULL | T3 | 200K| 8 (0)| 00:00:01 | Q1,01 | PCWP | |--------------------------------------------------------------------------------------------------------------
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 55
Parallelexecutioninitializationparametersin12.2• Obsoleteandremovedin12.2
parallel_serverparallel_server_instancesparallel_io_cap_enabledparallel_automatic_tuning
• Deprecatedin12.2
parallel_adaptive_multi_user = false
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 56
Parameters
• PARALLEL_MAX_SERVERS
• PARALLEL_MIN_SERVERS
• PARALLEL_THREADS_PER_CPU
• PARALLEL_DEGREE_POLICY
• PARALLEL_DEGREE_LIMIT
• PARALLEL_SERVERS_TARGET
6/19/17
CPU count
Queuing threshold
Parallel max server
GAP ?
iarsov.com- 2017©IvicaArsovOracleACEAssociate 57
PARALLEL_TARGETS_SERVERvsPARALLEL_MAX_SERVERS
Whydoweneedthegap?
• Hints• NO_STATEMENT_QUEUING
• PARALLEL_DEGREE_POLICY=MANUAL|LIMITED
• BYPASSQUEUEsetviaDBMSResourceManager
6/19/17 iarsov.com- 2017©IvicaArsovOracleACEAssociate 58
PXAllocationWithoutStatementQueuing
Requested DoP Time Status Execute DoP
4 T1 ACTIVE 8
6/19/17
/ / / / / / / // / / / / / / // / / / / / / // / / / / / / // / / / / / / // / / / / / / /
/ / / // / / /
/ FreePXslave
iarsov.com- 2017©IvicaArsovOracleACEAssociate 59
Requested DoP Time Status Execute DoP
4 T1 ACTIVE 8
6 T2 ACTIVE 12
6/19/17
/ / / / / / / // / / / / / / // / / / / / / // / / / / / / // / / / / / / /
/ / / /
/ FreePXslave
PXAllocationWithoutStatementQueuing
iarsov.com- 2017©IvicaArsovOracleACEAssociate 60
Requested DoP Time Status Execute DoP
4 T1 ACTIVE 8
6 T2 ACTIVE 12
8 T3 ACTIVE 16
6/19/17
/ / / / / / / // / / / / / / // / / / / / / /
/ / / /
/ FreePXslave
PXAllocationWithoutStatementQueuing
iarsov.com- 2017©IvicaArsovOracleACEAssociate 61
Requested DoP Time Status Execute DoP
4 T1 ACTIVE 8
6 T2 ACTIVE 12
8 T3 ACTIVE 16
8 T4 ACTIVE 16
6/19/17
/ / / / / / / // / / /
/ FreePXslave
PXAllocationWithoutStatementQueuing
iarsov.com- 2017©IvicaArsovOracleACEAssociate 62
PXAllocationWithoutStatementQueuing
Requested DoP Time Status Execute DoP
4 T1 ACTIVE 8
6 T2 ACTIVE 12
8 T3 ACTIVE 16
8 T4 ACTIVE 16
6 T5 ACTIVE 12
6/19/17
/ FreePXslave
iarsov.com- 2017©IvicaArsovOracleACEAssociate 63
PXAllocationWithoutStatementQueuing
Requested DoP Time Status Execute DoP
4 T1 ACTIVE 8
6 T2 ACTIVE 12
8 T3 ACTIVE 16
8 T4 ACTIVE 16
6 T5 ACTIVE 12
8 T6 ACTIVE 1
6/19/17
/ FreePXslave
iarsov.com- 2017©IvicaArsovOracleACEAssociate 64
PXAllocationWithStatementQueuing
Requested DoP Time Status Execute DoP
4 T1 ACTIVE 8
6/19/17
/ / / / / / / // / / / / / / // / / / / / / // / / / / / / // / / / / / / // / / / / / / /
/ / / // / / /
/ FreePXslave
iarsov.com- 2017©IvicaArsovOracleACEAssociate 65
PXAllocationWithStatementQueuing
Requested DoP Time Status Execute DoP
4 T1 ACTIVE 8
6 T2 ACTIVE 12
6/19/17
/ / / / / / / // / / / / / / // / / / / / / // / / / / / / // / / / / / / /
/ / / /
/ FreePXslave
iarsov.com- 2017©IvicaArsovOracleACEAssociate 66
PXAllocationWithStatementQueuing
Requested DoP Time Status Execute DoP
4 T1 ACTIVE 8
6 T2 ACTIVE 12
8 T3 ACTIVE 16
6/19/17
/ / / / / / / // / / / / / / // / / / / / / /
/ / / /
/ FreePXslave
iarsov.com- 2017©IvicaArsovOracleACEAssociate 67
PXAllocationWithStatementQueuing
Requested DoP Time Status Execute DoP
4 T1 ACTIVE 8
6 T2 ACTIVE 12
8 T3 ACTIVE 16
8 T4 ACTIVE 16
6/19/17
/ / / / / / / // / / /
/ FreePXslave
iarsov.com- 2017©IvicaArsovOracleACEAssociate 68
PXAllocationWithStatementQueuing
Requested DoP Time Status Execute DoP
4 T1 ACTIVE 8
6 T2 ACTIVE 12
8 T3 ACTIVE 16
8 T4 ACTIVE 16
4 T5 ACTIVE 8
6/19/17
/ / / /
/ FreePXslave
iarsov.com- 2017©IvicaArsovOracleACEAssociate 69
PXAllocationWithStatementQueuing
Requested DoP Time Status Execute DoP
4 T1 ACTIVE 8
6 T2 ACTIVE 12
8 T3 ACTIVE 16
8 T4 ACTIVE 16
4 T5 ACTIVE 8
8 T6 QUEUED 16
6/19/17
/ / / /
/ FreePXslave
iarsov.com- 2017©IvicaArsovOracleACEAssociate 70
PXAllocationWithStatementQueuing
Requested DoP Time Status Execute DoP
4 T1 ACTIVE 8
6 T2 ACTIVE 12
8 T3 ACTIVE 16
8 T4 FINISHED 16
4 T5 ACTIVE 8
8 T6 QUEUED 16
6/19/17
/// /
//
//
///
// / /
// / / /
/ FreePXslave
iarsov.com- 2017©IvicaArsovOracleACEAssociate 71
PXAllocationWithStatementQueuing
Requested DoP Time Status Execute DoP
4 T1 ACTIVE 8
6 T2 ACTIVE 12
8 T3 ACTIVE 16
8 T4 FINISHED 16
4 T5 ACTIVE 8
8 T6 ACTIVE 16
6/19/17
/ / / /
/ FreePXslave
iarsov.com- 2017©IvicaArsovOracleACEAssociate 72