Oracle® OLAP Reference 10g Release 2 (10.2) Part Number B14350-01 |
|
|
View PDF |
V$AW_CALC
reports on the effectiveness of various caches used by Oracle OLAP and the status of processing by the AGGREGATE
function.
OLAP Caches
Because OLAP queries tend to be iterative, the same data is typically queried repeatedly during a session. The caches provide much faster access to data that has already been calculated during a session than would be possible if the data had to be recalculated for each query.
The more effective the caches are, the better the response time experienced by users. An ineffective cache (that is, one with few hits and many misses) probably indicates that the data is not being stored optimally for the way it is being viewed. To improve runtime performance, you may need to reorder the dimensions of the variables (that is, change the order of fastest to slowest varying dimensions).
Oracle OLAP uses the following caches:
Aggregate cache. An internal cache used by the aggregation subsystem during querying. It stores the children of a given dimension member, such as Q1-04,
Q2-04
, Q3-04
, and Q4-04
as the children of 2004
.
Session cache. Oracle OLAP maintains a cache for each session for storing the results of calculations. When the session ends, the contents of the cache are discarded.
Page pool. A cache allocated from the User Global Area (UGA), which Oracle OLAP maintains for the session. The page pool is associated with a particular session and caches records from all the analytic workspaces attached in that session. If the page pool becomes too full, then Oracle OLAP writes some of the pages to the database cache. When an UPDATE
command is issued in the OLAP DML, the changed pages associated with that analytic workspace are written to the permanent LOB, using temporary segments as the staging area for streaming the data to disk. The size of the page pool is controlled by the OLAP_PAGE_POOL
initialization parameter.
Database cache. The larger cache maintained by the Oracle RDBMS for the database instance.
See Also: Oracle OLAP Application Developer's Guide for full discussions of data storage issues and aggregation. |
Dynamic Aggregation
V$AW_CALC
provides status information about dynamic aggregation in each OLAP session. Dynamic aggregation is performed by the OLAP DML AGGREGATE
function.
V$AW_CALC
reports the number of logical NAs generated when AGGINDEX
is set. AGGINDEX
is an index of all composite tuples for the data. When a composite tuple does not exist, the AGGREGATE
function returns NA.
V$AW_CALC
also reports the number of times the AGGREGATE
function uses a precomputed aggregate, and the number of times the AGGREGATE
function has to calculate an aggregate value.
Column | Datatype | Description |
---|---|---|
SESSION_ID |
NUMBER |
A unique numeric identifier for the session. |
AGGREGATE_CACHE_HITS |
NUMBER |
The number of times a dimension member is found in the aggregate cache (a hit).
The number of hits for run-time aggregation can be increased by fetching data across the dense dimension. |
AGGREGATE_CACHE_MISSES |
NUMBER |
The number of times a dimension member is not found in the aggregate cache and must be read from disk (a miss). |
SESSION_CACHE_HITS |
NUMBER |
The number of times the data is found in the session cache (a hit). |
SESSION_CACHE_MISSES |
NUMBER |
The number of times the data is not found in the session cache (a miss). |
POOL_HITS |
NUMBER |
The number of times the data is found in a page in the OLAP page pool (a hit). |
POOL_MISSES |
NUMBER |
The number of times the data is not found in the OLAP page pool (a miss). |
POOL_NEW_PAGES |
NUMBER |
The number of newly created pages in the OLAP page pool that have not yet been written to the workspace LOB. |
POOL_RECLAIMED_PAGES |
NUMBER |
The number of previously unused pages that have been recycled with new data. |
CACHE_WRITES |
NUMBER |
The number of times the data from the OLAP page pool has been written to the database cache. |
POOL_SIZE |
NUMBER |
The number of kilobytes in the OLAP page pool. |
CURR_DML_COMMAND |
VARCHAR2(64) |
The OLAP DML command currently being executed. |
PREV_DML_COMMAND |
VARCHAR2(64) |
The OLAP DML command most recently completed. |
AGGR_FUNC_LOGICAL_NA |
NUMBER |
The number of times the AGGREGATE function returns a logical NA because AGGINDEX is on and the composite tuple does not exist. |
AGGR_FUNC_PRECOMPUTE |
NUMBER |
The number of times the AGGREGATE function finds a value in a position that it was called to calculate. |
AGGR_FUNC_CALCS |
NUMBER |
The number of times the AGGREGATE function calculates a parent value based on the values of its children. |