Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Oracle 12c Parallel Execution New Features

1,033 views

Published on

My presentation at DOAG 2015

  • Be the first to comment

Oracle 12c Parallel Execution New Features

  1. 1.  Independent consultant  Performance Troubleshooting  In-house workshops  Cost-Based Optimizer  Performance By Design  Oracle ACE Director  Member of OakTable Network
  2. 2. This session explains the new PX operators introduced with Oracle 12c so that you know them next time you look at a 12c Parallel Execution plan More info / details? On my blog (tag 12cR1, New Features, Parallel Execution) You want more? Ask for my Parallel Execution Masterclass seminar
  3. 3.  Three important aspects of Parallel Execution  Major 12c Parallel Execution new features  Some more new 12c Parallel Execution features  Conclusion / Q & A
  4. 4.  Oracle Parallel Execution employs Producer Consumer Model  Parallel Execution plan organised in so called Data Flow Operations (DFOs) and DFO Trees  DFOs are organised in Parent child relations, the child produces / sends data, the parent consumes / receives data  Requires two sets of Parallel Execution Server
  5. 5.  Producer Consumer model limitation: Only one active pair of DFOs per DFO tree allowed  Depending on plan shape and operations multiple DFO pairs could be active  To prevent this Oracle adds artificial blocking operations that buffer data => Increased PGA / TEMP requirements
  6. 6.  Producer consumer model means redistribution of data  Depending on distribution methods used and actual data pattern the data might not be distributed evenly  Data distribution skew means that some Parallel Execution Servers need to process more data than others => Not all PX Servers busy all the time
  7. 7.  Three important aspects of Parallel Execution  Major 12c Parallel Execution new features  Some more new 12c Parallel Execution features  Conclusion / Q & A
  8. 8.  New distribution method HYBRID HASH  Dynamic switch between BROADCAST and HASH at execution time  Can detect and address data distribution skew (current implementation only limited scope)  Only partially useful at present but is supposed to be improved in upcoming releases
  9. 9.  New feature CONCURRENT UNION ALL – executes multiple branches of a UNION ALL concurrently  Usually only relevant in case of serial branches (or mixture of parallel and serial branches)  New operator PX SELECTOR selects one of the available slaves to execute serial branch
  10. 10.  New distribution method 1 SLAVE  Supports new plan shapes potentially collapsing multiple DFO trees into a single one  Simplifies PX plan generation and avoids odd side effects of having multiple DFO trees  But can lead to more BUFFERED operations
  11. 11.  New feature parallel FILTER subquery evaluation  Again simplifies PX plan shape and allows filter subquery evaluation in the Parallel Execution Servers => can reduce runtime  Prevents certain pre-12c plan shapes leading to multiple DFO trees  Not always used, 12c can fall back to old shape
  12. 12.  Three important aspects of Parallel Execution  Major 12c Parallel Execution new features  Some more new 12c Parallel Execution features  Conclusion / Q & A
  13. 13.  New feature replicated parallel full table scan – instead of BROADCAST distribution  Only applicable to parallel full table scans eligible for BROADCAST distribution  Instead of chunked parallel full table scan with distribution afterwards each slave performs the complete full scan directly
  14. 14.  New feature EXPRESSION EVALUATION operator  Can be used for scalar subqueries in the projection of parallel plans (but also old shape possible depending on SQL features used and combined)  Good: Plan shape corresponds now to the “rules” how to read with scalar subqueries  Bad: Some odd behaviour at runtime spotted
  15. 15.  Many new PX operators and plan shapes introduced with 12c  Biggest change in this area since explicit introduction of PX operators in Oracle 10g  Not as revolutionary as other new features but a good sign that Oracle continues innovation in this area, too
  16. 16. Q & A

×