The table summarizes the user tasks to persist aggregates for different life cycle use cases.
Life cycle use cases focus on operations against single or multiple aggregate persistence targets, and do not describe operations for single or multiple-node deployments. User tasks are the same for both single-node deployments and multiple node deployments with the only difference is related to a clustered deployment. In a clustered deployment, you must connect to the controllerOracle BI Server. A rolling restart of the subordinate servers is performed in the background. See Running the Aggregate Specification Script.
Number | Use Case | Description |
---|---|---|
1 |
Creating aggregates for a single aggregate persistence target |
To only create aggregates, modify the aggregate creation script to remove the delete aggregates statement at the beginning. Then, use |
2 |
Deleting aggregates for a single aggregate persistence target |
To delete aggregates, use
Delete aggregates [list of fully qualified physical fact table names];
For example: Delete aggregates; or Delete aggregates "src".."INCR"."fact_1", "src".."INCR"."fact_2"; |
3 |
Refreshing aggregates for a single aggregate persistence target |
Use Alternatively, you can manually delete the aggregates as described in use case 2, then create aggregates as shown in use case 1. This manual method is useful for situations where you want to delete all aggregates, but the aggregate creation script only specifies certain aggregates to be deleted. |
4 |
Creating aggregates for multiple redundant aggregate persistence targets |
To create aggregate clones on multiple targets, modify the aggregate creation script to copy the create aggregates statements as many times as you have targets. For example, say you have a script containing the following create aggregates statement: set variable LOGLEVEL=7 : create aggregates "myfactaggr" for "FACT_1"("MEASURE_1") at levels ("INCR"."DIM1_LEVEL1Dim"."DIM1_LEVEL1 Detail") using connection pool "tgt1"."cp" in "tgt1".."double1"; You would then copy the block, paste it below the first block, and modify the connection pool and schema information for your second target. For example: set variable LOGLEVEL=7 : create aggregates "myfactaggr" for "FACT_1"("MEASURE_1") at levels ("INCR"."DIM1_LEVEL1Dim"."DIM1_LEVEL1 Detail") using connection pool "tgt2"."cp" in "tgt2".."double2"; After you have copied and modified the block for all your targets, save the script. Then, use |
5 |
Deleting aggregates for multiple aggregate persistence targets |
To delete aggregates on multiple targets, use set variable LOGLEVEL=7 : delete aggregates "tgt1".."double1"."myfactaggr"; set variable LOGLEVEL=7 : delete aggregates "tgt2".."double2"."myfactaggr"; |
6 |
Refreshing aggregates for multiple redundant aggregate persistence targets |
See Using Double Buffering to Refresh Highly Available Aggregates. |
7 |
Refreshing aggregates for multiple partitioned aggregate persistence targets |
In some cases, you might have different aggregates partitioned across multiple targets. This approach maximizes memory use, but does not provide highly available aggregates. To refresh partitioned aggregates, use one of the following methods as appropriate for your deployment:
|