Re: In-Memory Parallel Execution (11.2)

From: Randolf Geist <info_at_www.sqltools-plusplus.org>
Date: Fri, 03 Apr 2015 15:03:27 +0200
Message-ID: <551E8F9F.3030100_at_www.sqltools-plusplus.org>



Hi Hemant,

most of your questions were already addressed, just a few more comments.

I can confirm that In-Memory Parallel Execution (not to be confused with the In-Memory Column Store) works in a non-RAC environment.

And if objects are marked as CACHE then, as Tanel points out, the code path can also be used. However, there is a significant difference between MANUAL+CACHE and PARALEL_DEGREE_POLICY=AUTO when it comes to RAC: In the former case the intelligent distribution / placement of the segment across the n buffer caches doesn't happen and each instance buffer cache will potentially hold copies of the same blocks, whereas with AUTO the PX servers are aware of the segment distribution across the different buffer caches, so you effectively can cache larger segments than with MANUAL+CACHE.

PARALLEL_FORCE_LOCAL shouldn't make a difference in principle, but see the previous paragraph - you won't be able to benefit from the segment distribution across several buffer caches then.

A simple way to determine if In-Memory Parallel Execution got used or not is check the session statistics - if you make use of PX and you don't see "consistent gets direct" but only "consistent gets from cache" then it got used, assuming that all of the objects accessed are below the threshold and fit into the buffer cache.

If you don't mark objects as CACHE and don't use AUTO, then you shouldn't see In-Memory Parallel Execution - the corresponding underscore parameter "_parallel_cluster_cache_policy" doesn't have a setting as far I know that completely disables the feature, although you could set it to "ADAPTIVE" when using AUTO to prevent the feature usage, but it doesn't prevent the feature usage when explicitly marking objects as CACHE.

Randolf    

> In-Memory Parallel Execution in 11.2
> Questions :
> 1. Does In-Memory Parallel Execution work in a non-RAC environment ?
> 2. Does it HAVE to have PARALLEL_DEGREE_POLICY='AUTO' or does it work with MANUAL ?
> 3. In RAC does it still work if PARALLEL_FORCE_LOCAL is TRUE ?
> 4. How do you determine if In-Memory Parallel Execution has been used ?
> 5. Is there another switch (other than PARALLEL_DEGREE_POLICY) to disable it ?

--
http://www.freelists.org/webpage/oracle-l
Received on Fri Apr 03 2015 - 15:03:27 CEST

Original text of this message