Skip to content

Latest commit

 

History

History
27 lines (21 loc) · 1.91 KB

File metadata and controls

27 lines (21 loc) · 1.91 KB

Case Study & Technical Analysis

Abstract

The DBA Result Cache Statistics report offers a high-level overview of the health and efficiency of the Oracle Server Result Cache. Unlike the object-level detail report, this analysis focuses on global statistics such as total memory usage, hit/miss ratios, and invalidation counts. It is the primary tool for sizing the result cache and determining if the feature is providing a net benefit to the database workload.

Technical Analysis

Key Metrics

  • Create Count Failure: Indicates if the cache is too small to accommodate new results. A non-zero value suggests RESULT_CACHE_MAX_SIZE may need to be increased.
  • Find Count: Represents cache hits. A high value indicates the cache is effectively serving data from memory, bypassing SQL execution.
  • Invalidation Count: The number of times cached results were purged due to data changes. High invalidation rates relative to find counts suggest that the result cache is being used on volatile data, which is an anti-pattern.
  • Delete Count Valid: Results flushed due to LRU (Least Recently Used) pressure, further indicating potential sizing issues.

Configuration Context

The report helps validate the setting of the initialization parameter:

alter system set result_cache_max_size=600M scope=both;

If the allocated memory is consistently full and valid results are being evicted, increasing this parameter may yield performance gains.

Key View

  • GV$RESULT_CACHE_STATISTICS: Provides the global counters for the result cache subsystem across all RAC instances.

Operational Use Cases

  • Capacity Planning: determining the optimal memory allocation for the result cache.
  • Efficiency Monitoring: Calculating the "Hit Ratio" of the result cache.
  • Workload Characterization: Understanding if the workload is read-mostly (good for caching) or write-intensive (bad for caching).