Specifies whether incremental restructuring is enabled for a database. You can enable incremental restructuring for individual databases or for all databases.
This setting does not apply to aggregate storage databases.
INCRESTRUC [ appname [ dbname] ] TRUE | FALSE
appname—Application name. Optional parameter for enabling incremental restructuring for one or all databases in an application. This parameter may be used in combination with dbname. If you omit appname, you cannot specify dbname, and INCRESTRUC will be enabled for all applications and databases. See Example below.
dbname—Database name. Optional parameter for enabling incremental restructuring for an individual database. This parameter must be used in combination with appname. If you specify dbname, you must also specify appname. See Example below.
TRUE—When you make certain outline or dimension changes that normally result in immediate database restructuring, Essbase defers restructuring until the next time it accesses the affected blocks. See Notes below.
FALSE—Essbase immediately restructures the database whenever an outline or dimension change calls for it. The default value is FALSE (for all databases).
Use the value xxxxx to indicate "all" for any application or database argument. For example:INCRESTRUC xxxxx Basic TRUEenables incremental restructuring for any application with a Basic database.
Settings for nonexistent applications or databases are ignored.
You can issue up to ten (total) INCRESTRUC statements per application.
This setting specifies whether incremental restructuring is enabled for a database. You can enable incremental restructuring for individual databases, for all databases in an application, or for all databases on a server.
If you make certain outline or dimension changes that normally result in immediate database restructuring, Essbase defers restructuring until the next time the affected block is accessed, or until a full restructure is forced (e.g., by a full calculation). For example, if you add a member to any dimension, or delete a member from a dense dimension, Essbase defers restructuring when you enable INCRESTRUC.
When incremental restructuring is enabled, Essbase defers restructuring if you change the database outline or a dimension in a way that does not cause structural changes.
The following changes result in incremental (deferred) restructuring:
Adding a member to a sparse or dense dimension
Deleting a member from a dense dimension
Moving a member within a dense dimension
Adding, moving, or deleting a Dynamic Calc member
Adding, moving, or deleting a Dynamic Calc and Store member in a dense dimension
Adding a Dynamic Calc and Store member in a sparse dimension
Re-defining a Dynamic Calc member as type Dynamic Calc and Store
Re-defining a Dynamic Calc and Store member as type Dynamic Calc
Re-defining a Dynamic Calc or Dynamic Calc and Store member as a regular member
Re-defining a regular member as type Dynamic Calc or Dynamic Calc and Store
Restructuring for Dynamic Calc members is different from restructuring for Dynamic Calc and Store members. In general, Dynamic Calc and Store members have a greater impact on restructuring.
The following changes result in immediate restructuring, regardless of whether incremental restructuring is enabled:
Adding or deleting a dimension
Deleting a stored member of a sparse dimension
Moving a member in a sparse dimension
Moving or deleting a Dynamic Calc and Store member in a sparse dimension
Changing dimension definition from sparse to dense, or from dense to sparse
Changing the order of sparse dimensions
Certain member additions or changes to sparse dimensions can also trigger immediate restructuring.
Changing the order of dense dimensions
If an incremental restructure has already occurred and shared members are added to the outline, Essbase ignores the INCRESTSRUC setting and performs a full restructure.
Essbase logs outline changes in an internal file, database_name.ocl. Essbase clears the file whenever it does a full database restructure or when you clear or reset a database.
The database_name.ocl file can grow quite large in the meantime. To clear this file, issue VALIDATE in ESSCMD. VALIDATE causes Essbase to restructure any blocks whose restructure was deferred, and clears the file. When you issue VALIDATE, make sure the database is not in Read-only mode (Read-only mode is used for archiving).
If set to TRUE, INCRESTRUC affects all databases in all applications on the Essbase Server (except databases containing LROs), unless you have specified an appname and dbname.
The settings for INCRESTRUC are applied according to their order of appearance in the essbase.cfg file. For example:
INCRESTRUC TRUE INCRESTRUC Sample Basic FALSE
enables incremental restructuring for all databases except Sample Basic.
If you are using Linked Reporting Objects (LROs) in a database, incremental restructuring is automatically disabled on that database. When you have incremental restructuring enabled for all databases in all applications (that is, you have set INCRESTRUC to TRUE), the presence of an LRO in a database disables incremental restructuring for that database, but does not affect the other databases on the Essbase Server.
If you add shared members to an outline, incremental restructuring is automatically turned off. If a restructure is triggered by outline changes, it will be done.
For more information about incremental restructuring, see the Oracle Essbase Database Administrator's Guide.
INCRESTRUC Sample Basic TRUE
Defers restructuring the Basic database in the Sample application, whenever certain outline or dimension changes are made, until the next time Essbase accesses the affected blocks; that is, it enables incremental restructuring for that database.
INCRESTRUC Sample TRUE
Defers restructuring for all databases in the Sample application, whenever certain outline or dimension changes are made, until the next time Essbase accesses the affected blocks; that is, it enables incremental restructuring for those databases.
INCRESTRUC TRUE
Defers restructuring all databases, whenever certain outline or dimension changes are made, until the next time Essbase accesses the affected blocks; that is, it enables incremental restructuring for all databases in all applications on that server.
INCRESTRUC FALSE
Immediately restructures all databases whenever an outline or dimension change calls for it; that is, it disables incremental restructuring for all databases in all applications on that server.