Specifies how many threads Essbase may use during the stage of the data load process that writes blocks on the disk. Multiple threads, processing in parallel, may improve data load performance.
Since Essbase uses a single thread during the write stage of the aggregate storage data load process, this setting does not apply to aggregate storage databases.
DLTHREADSWRITE [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 applying the TRUE or FALSE setting to a specific 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 writing data blocks to the disk. 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>16 (on 32-bit platforms), or a negative number, the value is assumed to be 16.
If n>32 (on 64-bit platforms), or a negative number, the value is assumed to be 32.
See Notes below.
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.
You can specify DLTHREADSWRITE 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 DLTHREADSWRITE, the configuration setting DLSINGLETHREADPERSTAGE must be set to FALSE.
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, DLTHREADSPREPARE, to specify the number of threads for the preparation stage of data load processing.
Many factors affect the possible optimal values for DLTHREADSWRITE 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 DLTHREADSWRITE to be greater than 1 (one) may produce little if any benefit on a single-processor machine.
DLSINGLETHREADPERSTAGE Sample Basic FALSE DLTHREADSWRITE Sample Basic 3
Because DLSINGLETHREADPERSTAGE is set to FALSE for the Sample Basic application and database, Essbase uses 3 parallel threads during the write stage when loading data to Sample Basic.