Specifies how many threads Essbase may use during the data load preparation stage, which organizes the source data in memory in preparation for storing the data into blocks. Multiple threads, processing in parallel, may improve data load performance.
You can specify DLTHREADSPREPARE for individual databases, all databases within an application, or for all applications and databases on the server.
In order for Essbase to use the value specified for DLTHREADSPREPARE, the configuration setting DLSINGLETHREADPERSTAGE must be set to FALSE.
DLTHREADSPREPARE [appname [dbname]] n
appname—Application name. Optional parameter for using the specified number of threads in one or all databases within the application. If you specify a value for appname and do not specify a value for dbname, the setting applies to all databases in the specified application. If you do not specify an application, you cannot specify a database and the setting applies to all applications and databases on the Essbase Server.
dbname—Database name. Optional parameter for using the specified number of threads when loading the specified database within the specified application. If you do not specify a value for dbname, the setting applies to all databases within the specified application. If appname is not specified, you cannot specify dbname.
n —The number of threads the data load process may produce for preparing the data to be loaded. Specify and integer between 1 and 16 (on 32-bit platforms), or between 1 and 32 (on 64-bit platforms). The default value is 1.
If n is greater than the maximum or a negative number, the value is assumed to be 16 (on 32-bit platforms) or 32 (on 64-bit platforms).
The DLTHREADSPREPARE, DLTHREADSWRITE, and DLSINGLETHREADPERSTAGE settings are related to parallel data load processing. Data load processing is divided up into stages that are performed by Essbase using separate processing threads for each stage. By default, a single thread is used for each stage. Taking advantage of the multithreading capabilities of the server machine, the separate single-thread stages can be performed in parallel.
To improve data load performance by maximizing use of processor resource for your situation, you can use these settings to enable additional multiple-thread processing within the preparation and write stages of data load processing. For more information about parallel thread processing in data loads, see the "Optimizing Data Loads" chapter in the Oracle Essbase Database Administrator's Guide.
You can use another configuration setting, DLTHREADSWRITE, to specify the number of threads for the write stage of data load processing.
Many factors affect the possible optimal values for DLTHREADSPREPARE including the number of processors on the machine and the number of other processes running on the machine. If you want to set this setting to a value higher than the default (1), check with your system administrator, as higher values can significantly consume system resources. As a rule of thumb, do not expect performance advantages if the number of threads for this setting is greater than the number of processors on the server machine.
Setting the value for DLTHREADSPREPARE to be greater than 1 (one) may produce little if any benefit on a single-processor machine.
DLSINGLETHREADPERSTAGE Sample Basic FALSE DLTHREADSPREPARE Sample Basic 3
Because DLSINGLETHREADPERSTAGE is set to FALSE for the Sample Basic application and database, Essbase uses 3 parallel threads during the preparation stage when loading data to Sample Basic.