SlideShare a Scribd company logo
1 of 23
Download to read offline
RAC: 
Administering Parallel Execution 
By 
Riyaj Shamsudeen 
©OraInternals Riyaj Shamsudeen
©OraInternals Riyaj Shamsudeen 2 
Who am I? 
 19 years using Oracle products/DBA 
 OakTable member 
 Oracle ACE Director 
 Certified DBA versions 7.0,7.3,8,8i,9i &10g 
 Specializes in RAC, performance tuning, Internals and 
E-business suite 
 Chief DBA with OraInternals 
 Co-author of “Expert Oracle Practices” ‘2009 
 Co-author of “Pro Oracle SQL” ‘2010 
 Email: rshamsud@orainternals.com 
 Blog : orainternals.wordpress.com 
 URL: www.orainternals.com
 A slave set perform specific task at a point in execution plan. 
After the completion of a task, slave set can be reassigned to 
perform a different task. 
©OraInternals Riyaj Shamsudeen 3 
Parallel Execution 
 Parallel query uses PX slave processes to perform work. 
 Proper configuration of private interconnect and optimal 
execution plan is an essential step in scaling the PX operation. 
 Placement of PX slaves can be controlled by Services or 
parallel_instance_group configuration.
©OraInternals Riyaj Shamsudeen 4 
Example 
create index mut_t1 on mut (transaction_id) 
parallel (degree 8) nologging; 
---------------------------------------------------------------------------------------------------------------------- 
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib | 
---------------------------------------------------------------------------------------------------------------------- 
| 0 | CREATE INDEX STATEMENT | | | | 117K(100)| | | | | 
| 1 | PX COORDINATOR | | | | | | | | | 
| 2 | PX SEND QC (ORDER) | :TQ10001 | 13M| 166M| | | Q1,01 | P->S | QC (ORDER) | 
| 3 | INDEX BUILD NON UNIQUE| MUT_T1 | | | | | Q1,01 | PCWP | | 
| 4 | SORT CREATE INDEX | | 13M| 166M| | | Q1,01 | PCWP | | 
| 5 | PX RECEIVE | | 13M| 166M| 116K (1)| 00:05:50 | Q1,01 | PCWP | | 
| 6 | PX SEND RANGE | :TQ10000 | 13M| 166M| 116K (1)| 00:05:50 | Q1,00 | P->P | RANGE | 
| 7 | PX BLOCK ITERATOR | | 13M| 166M| 116K (1)| 00:05:50 | Q1,00 | PCWC | | 
|* 8 | TABLE ACCESS FULL| MUT | 13M| 166M| 116K (1)| 00:05:50 | Q1,00 | PCWP | | 
---------------------------------------------------------------------------------------------------------------------- 
One set of server processes 
reading the data 
Another set of server 
processes, sorting and creating 
index segments. 
P -> P transfer between these two slave sets.
PX: intra vs inter-instance 
 Intra-instance PX operation: All slaves are allocated in the current 
instance. 
 Inter-instance PX operation: Slaves are allocated from more than 
one instance. 
 In intra-instance PX operation, Slaves communicate with each 
other, passing buffers between them and does not use 
interconnect. 
 In inter-instance PX operation, slaves use interconnect to 
exchange buffers and messages, among the slave sets or Co-ordinator 
©OraInternals Riyaj Shamsudeen 5 
processes.
Distribution method of rows between 
producers and consumers are key to 
avoid flooding interconnect. 
P9 P10 P11 … P16 P9 P10 P11 … P16 
Consumers 
©OraInternals Riyaj Shamsudeen 6 
Architecture 
QC 
P1 
Inst 2 
Inst 1 
P1 P2 P3 P8 
P2 P3 … P8 … 
Producers 
P ->P
©OraInternals Riyaj Shamsudeen 7 
Controlling placement 
 Allocation of PX slaves can be controlled using few techniques: 
1) Services 
2) Instance groups/parallel_instance_group 
3) Combination of Services and parallel_instance_group 
 Instance_groups based setup is widely used in the database 
versions 10g and below. By default, all instances can participate in 
a PX operation. 
 From 10g onwards, you should control placement of slaves using 
Services. 
 Placement control using services is much more elegant and 
dynamic. Failover of services automatically handles PX 
placement.
Placement: Two instances 
 Sessions starting PX operations in inst1 can allocate slaves 
in both inst1 and inst2 
inst1.instance_groups='inst1’,’inst12' 
inst2.instance_groups='inst2',’inst12' 
inst3.instance_groups='inst3’ 
inst1.parallel_instance_group= 'inst12' 
P9 
P9 
c 
©OraInternals Riyaj Shamsudeen 8 
QC 
P9 
P1 
P9 
P1 
… P1 
P1 
… 
inst1 inst2 inst3
Placement: Services: two instances 
 Service FIN is located in two instance. 
 Slaves allocated from inst1 and inst2. 
srvctl add service –d solrac –s FIN –r inst1,ins2 –a inst3 
FIN FIN 
P9 
P9 
©OraInternals Riyaj Shamsudeen 9 
QC 
P9 
P1 
P9 
P1 
… P1 
P1 
… 
inst1 inst2 inst3 
demo:pq_query_nopart.sql with po service
Placement: Combination: PIG 
 Service alone also can be used to control the placement. 
 Slaves will be allocated from two instances: inst1 and inst2. 
srvctl add service –d solrac –s FIN –r inst1,ins2,inst3 
srvctl add service –d solrac –s FIN2 –r inst1,ins2 
Alter session set parallel_instance_group='FIN2'; 
FIN FIN2 
FIN FIN 
P9 
P9 
©OraInternals Riyaj Shamsudeen 10 
QC 
P9 
P1 
P9 
P1 
… P1 
P1 
… … 
inst1 inst2 inst3 
FIN2
©OraInternals Riyaj Shamsudeen 11 
Recommendations 
 Both instance_groups/parallel_instance_groups and Services 
method can be concurrently used in a database. 
 That might complicate debugging, Use services from 11g 
onwards. Use instance_groups for 10g and below. 
 For more granular control, use parallel_instance_groups and 
point to a more appropriate service, as an exception.
 Until 11g, measuring PQ traffic is not easy. 
 In 10g, If AWR does not report PQ interconnect traffic, but if 
the device statistics are reporting high interconnect traffic, then it 
is possible that application might be generating high PQ load. 
©OraInternals Riyaj Shamsudeen 12 
Measuring PQ traffic 
 IPQ statistics are visible in x$ksxpclient at a client level from 11g 
onwards.. 
 AWR snaps stores these statistics in dba_hist_ic_client_stats and 
prints PQ traffic in AWR section in a more readable format.
©OraInternals Riyaj Shamsudeen 13 
AWR report 
 AWR report in 11g prints the stats as a per second rate 
Interconnect Throughput by Client DB/Inst: SOLRAC/solrac1 Snaps: 1012-1013 
-> Throughput of interconnect usage by major consumers 
-> All throughput numbers are megabytes per second 
Send Receive 
Used By Mbytes/sec Mbytes/sec 
---------------- ----------- ----------- 
Global Cache .02 .04 
Parallel Query .36 .15 
DB Locks .01 .01 
DB Streams .00 .00 
Other .00 .00
©OraInternals Riyaj Shamsudeen 14 
PQ and cache fusion 
 Parallel query slave processes read the block directly in to their 
PGA using direct reads (except 11gR2 new feature – in memory 
parallelism). 
 With direct reads to PGA, there is no need for global cache 
grants. 
 For intra-instance parallel operation, the performance difference 
between a single instance and RAC is minimal. 
 Still, objects need to be checkpointed at the start of a PQ 
operation from all nodes in case of RAC.
Parallel_execution_message_size 
 Size of buffer transferred between the slaves is determined by 
the parameter parallel_execution_message_size (PEMS). 
 Default value is too small increasing chatty traffic. 
 The default vale is 2k or 4K depending upon the version. 
 Increase the value of this parameter to at least 16K. Downside is 
that increase in shared pool size (PX Msg Buffers). 
 Realizing the performance implications of this parameter, default 
value increased to 16K in 11gR2 (Compatible must be set to 
11.2.0.2 and OS specific). 
 Jumbo frames + PEMS, both set above 16K are good starting 
points for the inter-instance PQ intensive environments. 
©OraInternals Riyaj Shamsudeen 15
 Auto DOP: Optimizer chooses optimal parallelism even if you 
don’t specify parallel hint or parallel degree at object level. 
 PQ queueing feature is useful in PQ intensive data warehousing 
environments. 
©OraInternals Riyaj Shamsudeen 16 
New features (11.2) 
 Parallel Statement Queueing: Query will be queued until there is 
sufficient amount of PQ servers available. 
 In memory parallelism: PQ can read blocks in to buffer cache. 
Demo: pq_queueing.sql if time permits
In-memory parallelism (11gR2) 
 Due to the size of mammoth servers, now it is not uncommon 
to see SGA with a size of 100GB. 
 11gR2 introduced in-memory parallelism. Essentially, PQ servers 
can read buffers in to SGA. 
SGA SGA SGA 
P1 P2 P3 P4 P5 P6 
inst1 inst2 inst3 
P1 P2 P3 P4 P5 P6 
©OraInternals Riyaj Shamsudeen 17
Parallel_force_local (11.2) 
 This parameter controls whether the parallelism to be forced to 
single instance. 
 Default is FALSE and there is no reason to change it. Parallel 
Statement Queueing feature (11.2) interacts badly if this 
parameter is true. 
 Use services if you want to keep Parallel executions to a single 
node, rather than adjusting this parameter. 
©OraInternals Riyaj Shamsudeen 18
 Parallel slaves can be allocated in an instance or multiple 
instances depending upon the configuration. 
©OraInternals Riyaj Shamsudeen 19 
Parallel DML 
 Parallel DML (changes) also works in the same way of Parallel 
query. 
 In DML operation there are two distinct group of parallel 
operations: 
 Parallelism for scan only. 
 Parallelism for both scan and changes.
Parallel DML – scan only-execution plan 
In the execution plan below, UPDATE step is above Co-ordinator. 
Only Scanning is done in parallel, changes are done in 
------------------------------------------------------------------------------------------ ... 
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| ... 
----------------------------------------------------------------------------------------- ... 
| 0 | UPDATE STATEMENT | | 1 | 1028 | 2600 (1)| ... 
| 1 | UPDATE | HUGETABLE_HASH | | | | ... 
| 2 | PX COORDINATOR | | | | | ... 
| 3 | PX SEND QC (RANDOM) | :TQ10003 | 1 | 1028 | 2600 (1)| ... 
| 4 | NESTED LOOPS | | 1 | 1028 | 2600 (1)| ... 
| 5 | BUFFER SORT | | | | | ... 
| 6 | PX RECEIVE | | | | | ... 
| 7 | PX SEND BROADCAST | :TQ10002 | | | | ... 
| 8 | VIEW | VW_NSO_1 | 32186 | 408K| 2445 (1)| ... 
| 9 | HASH UNIQUE | | 1 | 817K| | ... 
| 10 | PX RECEIVE | | 1 | 817K| | ... 
| 11 | PX SEND HASH | :TQ10001 | 1 | 817K| | ... 
| 12 | HASH UNIQUE | | 1 | 817K| | ... 
|* 13 | HASH JOIN | | 32186 | 817K| 2445 (1)| ... 
| 14 | PX BLOCK ITERATOR | | 32186 | 408K| 1222 (0)| ... 
| 15 | TABLE ACCESS FULL | HUGETABLE_HASH | 32186 | 408K| 1222 (0)| … 
©OraInternals Riyaj Shamsudeen 20 
serial.
Should you use inter or intra-parallel operations? 
 This is a thorny question in production environment. 
 There is no correct answer to this question, it depends upon two 
factors: 
1. Node resources such as CPU, I/O bandwidth, IC bandwidth 
2. Size of the segment, whether it is partitioned or not etc. 
 If the index creation can be completed with just one node, 
meaning the nodes are beefed up nodes, then you should use one 
node. 
 If the nodes are not big enough, then it is okay to use all nodes, 
just realize that interconnect latency might affect performance. 
©OraInternals Riyaj Shamsudeen 21
Thank you for attending! 
If you like this presentation, you will love my upcoming 
intensive Advanced RAC Troubleshooting class. Watch 
for updates in: 
www.tanelpoder.com 
Orainternals.wordpress.com 
Contact info: 
Email: rshamsud@gmail.com 
Blog : orainternals.wordpress.com 
URL : www.orainternals.com 
©OraInternals Riyaj Shamsudeen 22
MARK YOUR CALENDARS! 
COLLABORATE 12 
April 22-26, 2012 
Mandalay Bay Convention Center 
Las Vegas, Nevada 
http://events.ioug.org/p/cm/ld/fid=15

More Related Content

What's hot

Debunking myths about_redo_ppt
Debunking myths about_redo_pptDebunking myths about_redo_ppt
Debunking myths about_redo_pptRiyaj Shamsudeen
 
Dbms plan - A swiss army knife for performance engineers
Dbms plan - A swiss army knife for performance engineersDbms plan - A swiss army knife for performance engineers
Dbms plan - A swiss army knife for performance engineersRiyaj Shamsudeen
 
Advanced RAC troubleshooting: Network
Advanced RAC troubleshooting: NetworkAdvanced RAC troubleshooting: Network
Advanced RAC troubleshooting: NetworkRiyaj Shamsudeen
 
Riyaj real world performance issues rac focus
Riyaj real world performance issues rac focusRiyaj real world performance issues rac focus
Riyaj real world performance issues rac focusRiyaj Shamsudeen
 
Introduction to Parallel Execution
Introduction to Parallel ExecutionIntroduction to Parallel Execution
Introduction to Parallel ExecutionDoug Burns
 
Tracing Parallel Execution (UKOUG 2006)
Tracing Parallel Execution (UKOUG 2006)Tracing Parallel Execution (UKOUG 2006)
Tracing Parallel Execution (UKOUG 2006)Doug Burns
 
你所不知道的Oracle后台进程Smon功能
你所不知道的Oracle后台进程Smon功能你所不知道的Oracle后台进程Smon功能
你所不知道的Oracle后台进程Smon功能maclean liu
 
了解Oracle rac brain split resolution
了解Oracle rac brain split resolution了解Oracle rac brain split resolution
了解Oracle rac brain split resolutionmaclean liu
 
【Maclean liu技术分享】拨开oracle cbo优化器迷雾,探究histogram直方图之秘 0321
【Maclean liu技术分享】拨开oracle cbo优化器迷雾,探究histogram直方图之秘 0321【Maclean liu技术分享】拨开oracle cbo优化器迷雾,探究histogram直方图之秘 0321
【Maclean liu技术分享】拨开oracle cbo优化器迷雾,探究histogram直方图之秘 0321maclean liu
 
How Many Slaves (Ukoug)
How Many Slaves (Ukoug)How Many Slaves (Ukoug)
How Many Slaves (Ukoug)Doug Burns
 
oracle cloud with 2 nodes processing
oracle cloud with 2 nodes processingoracle cloud with 2 nodes processing
oracle cloud with 2 nodes processingmahdi ahmadi
 
11 Things About11g
11 Things About11g11 Things About11g
11 Things About11gfcamachob
 
OpenWorld Sep14 12c for_developers
OpenWorld Sep14 12c for_developersOpenWorld Sep14 12c for_developers
OpenWorld Sep14 12c for_developersConnor McDonald
 
Ash masters : advanced ash analytics on Oracle
Ash masters : advanced ash analytics on Oracle Ash masters : advanced ash analytics on Oracle
Ash masters : advanced ash analytics on Oracle Kyle Hailey
 
Full Table Scan: friend or foe
Full Table Scan: friend or foeFull Table Scan: friend or foe
Full Table Scan: friend or foeMauro Pagano
 
Oracle 10g Performance: chapter 09 enqueues
Oracle 10g Performance: chapter 09 enqueuesOracle 10g Performance: chapter 09 enqueues
Oracle 10g Performance: chapter 09 enqueuesKyle Hailey
 
UKOUG, Oracle Transaction Locks
UKOUG, Oracle Transaction LocksUKOUG, Oracle Transaction Locks
UKOUG, Oracle Transaction LocksKyle Hailey
 

What's hot (20)

Rac 12c optimization
Rac 12c optimizationRac 12c optimization
Rac 12c optimization
 
Debunking myths about_redo_ppt
Debunking myths about_redo_pptDebunking myths about_redo_ppt
Debunking myths about_redo_ppt
 
Dbms plan - A swiss army knife for performance engineers
Dbms plan - A swiss army knife for performance engineersDbms plan - A swiss army knife for performance engineers
Dbms plan - A swiss army knife for performance engineers
 
Advanced RAC troubleshooting: Network
Advanced RAC troubleshooting: NetworkAdvanced RAC troubleshooting: Network
Advanced RAC troubleshooting: Network
 
Riyaj real world performance issues rac focus
Riyaj real world performance issues rac focusRiyaj real world performance issues rac focus
Riyaj real world performance issues rac focus
 
Introduction to Parallel Execution
Introduction to Parallel ExecutionIntroduction to Parallel Execution
Introduction to Parallel Execution
 
Redo internals ppt
Redo internals pptRedo internals ppt
Redo internals ppt
 
Tracing Parallel Execution (UKOUG 2006)
Tracing Parallel Execution (UKOUG 2006)Tracing Parallel Execution (UKOUG 2006)
Tracing Parallel Execution (UKOUG 2006)
 
你所不知道的Oracle后台进程Smon功能
你所不知道的Oracle后台进程Smon功能你所不知道的Oracle后台进程Smon功能
你所不知道的Oracle后台进程Smon功能
 
了解Oracle rac brain split resolution
了解Oracle rac brain split resolution了解Oracle rac brain split resolution
了解Oracle rac brain split resolution
 
【Maclean liu技术分享】拨开oracle cbo优化器迷雾,探究histogram直方图之秘 0321
【Maclean liu技术分享】拨开oracle cbo优化器迷雾,探究histogram直方图之秘 0321【Maclean liu技术分享】拨开oracle cbo优化器迷雾,探究histogram直方图之秘 0321
【Maclean liu技术分享】拨开oracle cbo优化器迷雾,探究histogram直方图之秘 0321
 
How Many Slaves (Ukoug)
How Many Slaves (Ukoug)How Many Slaves (Ukoug)
How Many Slaves (Ukoug)
 
oracle cloud with 2 nodes processing
oracle cloud with 2 nodes processingoracle cloud with 2 nodes processing
oracle cloud with 2 nodes processing
 
11 Things About11g
11 Things About11g11 Things About11g
11 Things About11g
 
OpenWorld Sep14 12c for_developers
OpenWorld Sep14 12c for_developersOpenWorld Sep14 12c for_developers
OpenWorld Sep14 12c for_developers
 
Rmoug ashmaster
Rmoug ashmasterRmoug ashmaster
Rmoug ashmaster
 
Ash masters : advanced ash analytics on Oracle
Ash masters : advanced ash analytics on Oracle Ash masters : advanced ash analytics on Oracle
Ash masters : advanced ash analytics on Oracle
 
Full Table Scan: friend or foe
Full Table Scan: friend or foeFull Table Scan: friend or foe
Full Table Scan: friend or foe
 
Oracle 10g Performance: chapter 09 enqueues
Oracle 10g Performance: chapter 09 enqueuesOracle 10g Performance: chapter 09 enqueues
Oracle 10g Performance: chapter 09 enqueues
 
UKOUG, Oracle Transaction Locks
UKOUG, Oracle Transaction LocksUKOUG, Oracle Transaction Locks
UKOUG, Oracle Transaction Locks
 

Similar to Administering Parallel Execution in Oracle RAC

z/VM Performance Analysis
z/VM Performance Analysisz/VM Performance Analysis
z/VM Performance AnalysisRodrigo Campos
 
The Data Center and Hadoop
The Data Center and HadoopThe Data Center and Hadoop
The Data Center and HadoopMichael Zhang
 
Run time dynamic partial reconfiguration using microblaze soft core processor...
Run time dynamic partial reconfiguration using microblaze soft core processor...Run time dynamic partial reconfiguration using microblaze soft core processor...
Run time dynamic partial reconfiguration using microblaze soft core processor...eSAT Journals
 
Run time dynamic partial reconfiguration using
Run time dynamic partial reconfiguration usingRun time dynamic partial reconfiguration using
Run time dynamic partial reconfiguration usingeSAT Publishing House
 
WALT vs PELT : Redux - SFO17-307
WALT vs PELT : Redux  - SFO17-307WALT vs PELT : Redux  - SFO17-307
WALT vs PELT : Redux - SFO17-307Linaro
 
CS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docx
CS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docxCS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docx
CS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docxfaithxdunce63732
 
LiveAction Spanning Tree Protocol (STP) Application Note
LiveAction Spanning Tree Protocol (STP) Application NoteLiveAction Spanning Tree Protocol (STP) Application Note
LiveAction Spanning Tree Protocol (STP) Application NoteActionPacked Networks
 
“Efficiently Map AI and Vision Applications onto Multi-core AI Processors Usi...
“Efficiently Map AI and Vision Applications onto Multi-core AI Processors Usi...“Efficiently Map AI and Vision Applications onto Multi-core AI Processors Usi...
“Efficiently Map AI and Vision Applications onto Multi-core AI Processors Usi...Edge AI and Vision Alliance
 
VFFS ( VERTICAL FORM FILL SEALING MACHINE )
VFFS ( VERTICAL FORM FILL SEALING MACHINE )VFFS ( VERTICAL FORM FILL SEALING MACHINE )
VFFS ( VERTICAL FORM FILL SEALING MACHINE )Kudamm_Corporation
 
BRKRST-3066 - Troubleshooting Nexus 7000 (2013 Melbourne) - 2 Hours.pdf
BRKRST-3066 - Troubleshooting Nexus 7000 (2013 Melbourne) - 2 Hours.pdfBRKRST-3066 - Troubleshooting Nexus 7000 (2013 Melbourne) - 2 Hours.pdf
BRKRST-3066 - Troubleshooting Nexus 7000 (2013 Melbourne) - 2 Hours.pdfaaajjj4
 
Container Orchestration from Theory to Practice
Container Orchestration from Theory to PracticeContainer Orchestration from Theory to Practice
Container Orchestration from Theory to PracticeDocker, Inc.
 
configuration of switch campus network
configuration of switch campus networkconfiguration of switch campus network
configuration of switch campus networksubhash subbu
 
Oracle Drivers configuration for High Availability, is it a developer's job?
Oracle Drivers configuration for High Availability, is it a developer's job?Oracle Drivers configuration for High Availability, is it a developer's job?
Oracle Drivers configuration for High Availability, is it a developer's job?Ludovico Caldara
 
BKK16-208 EAS
BKK16-208 EASBKK16-208 EAS
BKK16-208 EASLinaro
 
SamzaSQL QCon'16 presentation
SamzaSQL QCon'16 presentationSamzaSQL QCon'16 presentation
SamzaSQL QCon'16 presentationYi Pan
 
IRJET- An Improved DCM-Based Tunable True Random Number Generator for Xilinx ...
IRJET- An Improved DCM-Based Tunable True Random Number Generator for Xilinx ...IRJET- An Improved DCM-Based Tunable True Random Number Generator for Xilinx ...
IRJET- An Improved DCM-Based Tunable True Random Number Generator for Xilinx ...IRJET Journal
 
Install and Configure RSyslog – CentOS 7 / RHEL 7
Install and Configure RSyslog – CentOS 7 / RHEL 7Install and Configure RSyslog – CentOS 7 / RHEL 7
Install and Configure RSyslog – CentOS 7 / RHEL 7VCP Muthukrishna
 

Similar to Administering Parallel Execution in Oracle RAC (20)

z/VM Performance Analysis
z/VM Performance Analysisz/VM Performance Analysis
z/VM Performance Analysis
 
The Data Center and Hadoop
The Data Center and HadoopThe Data Center and Hadoop
The Data Center and Hadoop
 
Checklist_AC.pdf
Checklist_AC.pdfChecklist_AC.pdf
Checklist_AC.pdf
 
Run time dynamic partial reconfiguration using microblaze soft core processor...
Run time dynamic partial reconfiguration using microblaze soft core processor...Run time dynamic partial reconfiguration using microblaze soft core processor...
Run time dynamic partial reconfiguration using microblaze soft core processor...
 
Run time dynamic partial reconfiguration using
Run time dynamic partial reconfiguration usingRun time dynamic partial reconfiguration using
Run time dynamic partial reconfiguration using
 
WALT vs PELT : Redux - SFO17-307
WALT vs PELT : Redux  - SFO17-307WALT vs PELT : Redux  - SFO17-307
WALT vs PELT : Redux - SFO17-307
 
CS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docx
CS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docxCS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docx
CS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docx
 
PoC Oracle Exadata - Retour d'expérience
PoC Oracle Exadata - Retour d'expériencePoC Oracle Exadata - Retour d'expérience
PoC Oracle Exadata - Retour d'expérience
 
LiveAction Spanning Tree Protocol (STP) Application Note
LiveAction Spanning Tree Protocol (STP) Application NoteLiveAction Spanning Tree Protocol (STP) Application Note
LiveAction Spanning Tree Protocol (STP) Application Note
 
“Efficiently Map AI and Vision Applications onto Multi-core AI Processors Usi...
“Efficiently Map AI and Vision Applications onto Multi-core AI Processors Usi...“Efficiently Map AI and Vision Applications onto Multi-core AI Processors Usi...
“Efficiently Map AI and Vision Applications onto Multi-core AI Processors Usi...
 
VFFS ( VERTICAL FORM FILL SEALING MACHINE )
VFFS ( VERTICAL FORM FILL SEALING MACHINE )VFFS ( VERTICAL FORM FILL SEALING MACHINE )
VFFS ( VERTICAL FORM FILL SEALING MACHINE )
 
BRKRST-3066 - Troubleshooting Nexus 7000 (2013 Melbourne) - 2 Hours.pdf
BRKRST-3066 - Troubleshooting Nexus 7000 (2013 Melbourne) - 2 Hours.pdfBRKRST-3066 - Troubleshooting Nexus 7000 (2013 Melbourne) - 2 Hours.pdf
BRKRST-3066 - Troubleshooting Nexus 7000 (2013 Melbourne) - 2 Hours.pdf
 
Container Orchestration from Theory to Practice
Container Orchestration from Theory to PracticeContainer Orchestration from Theory to Practice
Container Orchestration from Theory to Practice
 
configuration of switch campus network
configuration of switch campus networkconfiguration of switch campus network
configuration of switch campus network
 
Oracle Drivers configuration for High Availability, is it a developer's job?
Oracle Drivers configuration for High Availability, is it a developer's job?Oracle Drivers configuration for High Availability, is it a developer's job?
Oracle Drivers configuration for High Availability, is it a developer's job?
 
BKK16-208 EAS
BKK16-208 EASBKK16-208 EAS
BKK16-208 EAS
 
SamzaSQL QCon'16 presentation
SamzaSQL QCon'16 presentationSamzaSQL QCon'16 presentation
SamzaSQL QCon'16 presentation
 
IRJET- An Improved DCM-Based Tunable True Random Number Generator for Xilinx ...
IRJET- An Improved DCM-Based Tunable True Random Number Generator for Xilinx ...IRJET- An Improved DCM-Based Tunable True Random Number Generator for Xilinx ...
IRJET- An Improved DCM-Based Tunable True Random Number Generator for Xilinx ...
 
Новый функционал JunOS для маршрутизаторов
Новый функционал JunOS для маршрутизаторовНовый функционал JunOS для маршрутизаторов
Новый функционал JunOS для маршрутизаторов
 
Install and Configure RSyslog – CentOS 7 / RHEL 7
Install and Configure RSyslog – CentOS 7 / RHEL 7Install and Configure RSyslog – CentOS 7 / RHEL 7
Install and Configure RSyslog – CentOS 7 / RHEL 7
 

Recently uploaded

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Recently uploaded (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 

Administering Parallel Execution in Oracle RAC

  • 1. RAC: Administering Parallel Execution By Riyaj Shamsudeen ©OraInternals Riyaj Shamsudeen
  • 2. ©OraInternals Riyaj Shamsudeen 2 Who am I?  19 years using Oracle products/DBA  OakTable member  Oracle ACE Director  Certified DBA versions 7.0,7.3,8,8i,9i &10g  Specializes in RAC, performance tuning, Internals and E-business suite  Chief DBA with OraInternals  Co-author of “Expert Oracle Practices” ‘2009  Co-author of “Pro Oracle SQL” ‘2010  Email: rshamsud@orainternals.com  Blog : orainternals.wordpress.com  URL: www.orainternals.com
  • 3.  A slave set perform specific task at a point in execution plan. After the completion of a task, slave set can be reassigned to perform a different task. ©OraInternals Riyaj Shamsudeen 3 Parallel Execution  Parallel query uses PX slave processes to perform work.  Proper configuration of private interconnect and optimal execution plan is an essential step in scaling the PX operation.  Placement of PX slaves can be controlled by Services or parallel_instance_group configuration.
  • 4. ©OraInternals Riyaj Shamsudeen 4 Example create index mut_t1 on mut (transaction_id) parallel (degree 8) nologging; ---------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib | ---------------------------------------------------------------------------------------------------------------------- | 0 | CREATE INDEX STATEMENT | | | | 117K(100)| | | | | | 1 | PX COORDINATOR | | | | | | | | | | 2 | PX SEND QC (ORDER) | :TQ10001 | 13M| 166M| | | Q1,01 | P->S | QC (ORDER) | | 3 | INDEX BUILD NON UNIQUE| MUT_T1 | | | | | Q1,01 | PCWP | | | 4 | SORT CREATE INDEX | | 13M| 166M| | | Q1,01 | PCWP | | | 5 | PX RECEIVE | | 13M| 166M| 116K (1)| 00:05:50 | Q1,01 | PCWP | | | 6 | PX SEND RANGE | :TQ10000 | 13M| 166M| 116K (1)| 00:05:50 | Q1,00 | P->P | RANGE | | 7 | PX BLOCK ITERATOR | | 13M| 166M| 116K (1)| 00:05:50 | Q1,00 | PCWC | | |* 8 | TABLE ACCESS FULL| MUT | 13M| 166M| 116K (1)| 00:05:50 | Q1,00 | PCWP | | ---------------------------------------------------------------------------------------------------------------------- One set of server processes reading the data Another set of server processes, sorting and creating index segments. P -> P transfer between these two slave sets.
  • 5. PX: intra vs inter-instance  Intra-instance PX operation: All slaves are allocated in the current instance.  Inter-instance PX operation: Slaves are allocated from more than one instance.  In intra-instance PX operation, Slaves communicate with each other, passing buffers between them and does not use interconnect.  In inter-instance PX operation, slaves use interconnect to exchange buffers and messages, among the slave sets or Co-ordinator ©OraInternals Riyaj Shamsudeen 5 processes.
  • 6. Distribution method of rows between producers and consumers are key to avoid flooding interconnect. P9 P10 P11 … P16 P9 P10 P11 … P16 Consumers ©OraInternals Riyaj Shamsudeen 6 Architecture QC P1 Inst 2 Inst 1 P1 P2 P3 P8 P2 P3 … P8 … Producers P ->P
  • 7. ©OraInternals Riyaj Shamsudeen 7 Controlling placement  Allocation of PX slaves can be controlled using few techniques: 1) Services 2) Instance groups/parallel_instance_group 3) Combination of Services and parallel_instance_group  Instance_groups based setup is widely used in the database versions 10g and below. By default, all instances can participate in a PX operation.  From 10g onwards, you should control placement of slaves using Services.  Placement control using services is much more elegant and dynamic. Failover of services automatically handles PX placement.
  • 8. Placement: Two instances  Sessions starting PX operations in inst1 can allocate slaves in both inst1 and inst2 inst1.instance_groups='inst1’,’inst12' inst2.instance_groups='inst2',’inst12' inst3.instance_groups='inst3’ inst1.parallel_instance_group= 'inst12' P9 P9 c ©OraInternals Riyaj Shamsudeen 8 QC P9 P1 P9 P1 … P1 P1 … inst1 inst2 inst3
  • 9. Placement: Services: two instances  Service FIN is located in two instance.  Slaves allocated from inst1 and inst2. srvctl add service –d solrac –s FIN –r inst1,ins2 –a inst3 FIN FIN P9 P9 ©OraInternals Riyaj Shamsudeen 9 QC P9 P1 P9 P1 … P1 P1 … inst1 inst2 inst3 demo:pq_query_nopart.sql with po service
  • 10. Placement: Combination: PIG  Service alone also can be used to control the placement.  Slaves will be allocated from two instances: inst1 and inst2. srvctl add service –d solrac –s FIN –r inst1,ins2,inst3 srvctl add service –d solrac –s FIN2 –r inst1,ins2 Alter session set parallel_instance_group='FIN2'; FIN FIN2 FIN FIN P9 P9 ©OraInternals Riyaj Shamsudeen 10 QC P9 P1 P9 P1 … P1 P1 … … inst1 inst2 inst3 FIN2
  • 11. ©OraInternals Riyaj Shamsudeen 11 Recommendations  Both instance_groups/parallel_instance_groups and Services method can be concurrently used in a database.  That might complicate debugging, Use services from 11g onwards. Use instance_groups for 10g and below.  For more granular control, use parallel_instance_groups and point to a more appropriate service, as an exception.
  • 12.  Until 11g, measuring PQ traffic is not easy.  In 10g, If AWR does not report PQ interconnect traffic, but if the device statistics are reporting high interconnect traffic, then it is possible that application might be generating high PQ load. ©OraInternals Riyaj Shamsudeen 12 Measuring PQ traffic  IPQ statistics are visible in x$ksxpclient at a client level from 11g onwards..  AWR snaps stores these statistics in dba_hist_ic_client_stats and prints PQ traffic in AWR section in a more readable format.
  • 13. ©OraInternals Riyaj Shamsudeen 13 AWR report  AWR report in 11g prints the stats as a per second rate Interconnect Throughput by Client DB/Inst: SOLRAC/solrac1 Snaps: 1012-1013 -> Throughput of interconnect usage by major consumers -> All throughput numbers are megabytes per second Send Receive Used By Mbytes/sec Mbytes/sec ---------------- ----------- ----------- Global Cache .02 .04 Parallel Query .36 .15 DB Locks .01 .01 DB Streams .00 .00 Other .00 .00
  • 14. ©OraInternals Riyaj Shamsudeen 14 PQ and cache fusion  Parallel query slave processes read the block directly in to their PGA using direct reads (except 11gR2 new feature – in memory parallelism).  With direct reads to PGA, there is no need for global cache grants.  For intra-instance parallel operation, the performance difference between a single instance and RAC is minimal.  Still, objects need to be checkpointed at the start of a PQ operation from all nodes in case of RAC.
  • 15. Parallel_execution_message_size  Size of buffer transferred between the slaves is determined by the parameter parallel_execution_message_size (PEMS).  Default value is too small increasing chatty traffic.  The default vale is 2k or 4K depending upon the version.  Increase the value of this parameter to at least 16K. Downside is that increase in shared pool size (PX Msg Buffers).  Realizing the performance implications of this parameter, default value increased to 16K in 11gR2 (Compatible must be set to 11.2.0.2 and OS specific).  Jumbo frames + PEMS, both set above 16K are good starting points for the inter-instance PQ intensive environments. ©OraInternals Riyaj Shamsudeen 15
  • 16.  Auto DOP: Optimizer chooses optimal parallelism even if you don’t specify parallel hint or parallel degree at object level.  PQ queueing feature is useful in PQ intensive data warehousing environments. ©OraInternals Riyaj Shamsudeen 16 New features (11.2)  Parallel Statement Queueing: Query will be queued until there is sufficient amount of PQ servers available.  In memory parallelism: PQ can read blocks in to buffer cache. Demo: pq_queueing.sql if time permits
  • 17. In-memory parallelism (11gR2)  Due to the size of mammoth servers, now it is not uncommon to see SGA with a size of 100GB.  11gR2 introduced in-memory parallelism. Essentially, PQ servers can read buffers in to SGA. SGA SGA SGA P1 P2 P3 P4 P5 P6 inst1 inst2 inst3 P1 P2 P3 P4 P5 P6 ©OraInternals Riyaj Shamsudeen 17
  • 18. Parallel_force_local (11.2)  This parameter controls whether the parallelism to be forced to single instance.  Default is FALSE and there is no reason to change it. Parallel Statement Queueing feature (11.2) interacts badly if this parameter is true.  Use services if you want to keep Parallel executions to a single node, rather than adjusting this parameter. ©OraInternals Riyaj Shamsudeen 18
  • 19.  Parallel slaves can be allocated in an instance or multiple instances depending upon the configuration. ©OraInternals Riyaj Shamsudeen 19 Parallel DML  Parallel DML (changes) also works in the same way of Parallel query.  In DML operation there are two distinct group of parallel operations:  Parallelism for scan only.  Parallelism for both scan and changes.
  • 20. Parallel DML – scan only-execution plan In the execution plan below, UPDATE step is above Co-ordinator. Only Scanning is done in parallel, changes are done in ------------------------------------------------------------------------------------------ ... | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| ... ----------------------------------------------------------------------------------------- ... | 0 | UPDATE STATEMENT | | 1 | 1028 | 2600 (1)| ... | 1 | UPDATE | HUGETABLE_HASH | | | | ... | 2 | PX COORDINATOR | | | | | ... | 3 | PX SEND QC (RANDOM) | :TQ10003 | 1 | 1028 | 2600 (1)| ... | 4 | NESTED LOOPS | | 1 | 1028 | 2600 (1)| ... | 5 | BUFFER SORT | | | | | ... | 6 | PX RECEIVE | | | | | ... | 7 | PX SEND BROADCAST | :TQ10002 | | | | ... | 8 | VIEW | VW_NSO_1 | 32186 | 408K| 2445 (1)| ... | 9 | HASH UNIQUE | | 1 | 817K| | ... | 10 | PX RECEIVE | | 1 | 817K| | ... | 11 | PX SEND HASH | :TQ10001 | 1 | 817K| | ... | 12 | HASH UNIQUE | | 1 | 817K| | ... |* 13 | HASH JOIN | | 32186 | 817K| 2445 (1)| ... | 14 | PX BLOCK ITERATOR | | 32186 | 408K| 1222 (0)| ... | 15 | TABLE ACCESS FULL | HUGETABLE_HASH | 32186 | 408K| 1222 (0)| … ©OraInternals Riyaj Shamsudeen 20 serial.
  • 21. Should you use inter or intra-parallel operations?  This is a thorny question in production environment.  There is no correct answer to this question, it depends upon two factors: 1. Node resources such as CPU, I/O bandwidth, IC bandwidth 2. Size of the segment, whether it is partitioned or not etc.  If the index creation can be completed with just one node, meaning the nodes are beefed up nodes, then you should use one node.  If the nodes are not big enough, then it is okay to use all nodes, just realize that interconnect latency might affect performance. ©OraInternals Riyaj Shamsudeen 21
  • 22. Thank you for attending! If you like this presentation, you will love my upcoming intensive Advanced RAC Troubleshooting class. Watch for updates in: www.tanelpoder.com Orainternals.wordpress.com Contact info: Email: rshamsud@gmail.com Blog : orainternals.wordpress.com URL : www.orainternals.com ©OraInternals Riyaj Shamsudeen 22
  • 23. MARK YOUR CALENDARS! COLLABORATE 12 April 22-26, 2012 Mandalay Bay Convention Center Las Vegas, Nevada http://events.ioug.org/p/cm/ld/fid=15