By default, block storage restructuring is performed sequentially. Blocks are renumbered and reshaped from first to last, a time-intensive process. Parallel restructuring can reduce restructuring time by dividing block restructuring work across multiple concurrent threads to use available processor cores. Because calculation is performed separately from restructuring, each block can be restructured independently of other blocks.
Blocks are divided into n groups, where n is the number of restructuring threads. This division is performed by traversing the breadth of the index BTree until the number of keys at a level is equal to or greater than n. If there is no level with more than n keys, the number of restructuring threads is reduced accordingly.
The number of restructuring threads to use is defined in essbase.cfg using the RESTRUCTURETHREADS configuration setting. If RESTRUCTURETHREADS is not defined, the default is one thread. For details, see the Oracle Essbase Technical Reference.