Re: In-Memory Parallel Execution (11.2)

  • From: Randolf Geist <info@xxxxxxxxxxxxxxxxxxxxxxxxx>
  • To: "Chitale, Hemant K" <Hemant-K.Chitale@xxxxxx>
  • Date: Fri, 03 Apr 2015 15:03:27 +0200

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 ?

--
//www.freelists.org/webpage/oracle-l


Other related posts: