You can customize the parallel DSI thread environment using the configuration parameters shown in Table 4-6. Use these configuration parameters with alter connection to tune parallel DSI threads for individual connections.
Configuration parameter |
Description |
---|---|
dsi_commit_check_locks_intrvl |
The number of milliseconds (ms) the DSI executor thread waits between executions of the rs_dsi_check_thread_lock function string. Default: 1000 ms (1 second) Minimum: 0 Maximum: 86,400,000 ms (24 hours) |
dsi_commit_check_locks_log |
The number of times the DSI executor thread executes the rs_dsi_check_thread_lock function string before logging a warning message. Default: 200 Minimum: 1 Maximum: 1,000,000 |
dsi_commit_check_locks_max |
The maximum number of times the DSI executor thread executes the rs_dsi_check_thread_lock function string before rolling back and retrying a transaction. Default: 400 Minimum: 1 Maximum: 1,000,000 |
dsi_commit_control |
Specifies whether commit control processing is handled internally by Replication Server using internal tables (on) or externally using the rs_threads system table (off). Default: on |
dsi_ignore_underscore_names |
When the dsi_partitioning_rule is set to “name,” specifies whether or not Replication Server ignores transaction names that begin with an underscore. Values are “on” and “off.” Default: on |
dsi_large_xact_size |
The number of statements allowed in a transaction before it is considered to be a large transaction. Default: 100 Minimum: 4 |
dsi_num_large_xact_threads |
The number of parallel DSI threads to be reserved for use with large transactions. The maximum value is one less than the value of dsi_num_threads. Default: 0 |
dsi_num_threads |
The number of parallel DSI threads to be used for a connection. A value of 1 disables the parallel DSI feature. Default: 1 Minimum: 1 Maximum: 255 |
dsi_partitioning_rule |
Specifies the partitioning rules (one or more) the DSI uses to partition transactions among available parallel DSI threads. Values are origin, origin_sessid, time, user, name, and none. See “Partitioning rules: reducing contention and increasing parallelism” for detailed information. Default: none |
dsi_serialization_method |
Specifies the method used to maintain serial consistency between parallel DSI threads when applying transactions to a replicate data server.
Default: wait_for_commit |
dsi_sqt_max_cache_size |
The maximum SQT cache size for the database connection. The default, 0, means the current setting of the sqt_max_cache_size parameter is used as the maximum cache size for the connection. Default: 0 |
parallel_dsi |
A shorthand method for configuring parallel DSI to default values. A value of “on” sets dsi_num_threads to 5, dsi_num_large_xact_threads to 2, dsi_serialization_method to wait_for_commit, and dsi_sqt_max_cache_size to 1 million bytes. A value of “off” sets the parallel DSI values to their defaults. You can set this parameter to “on” and then set individual parallel DSI configuration parameters to fine-tune your configuration. Default: off |
To configure a connection for parallel DSI, set the parallel_dsi parameter to on and then set individual parallel DSI configuration parameters to fine-tune your environment.
For example, to enable parallel DSI for the connection to the pubs2 database on the SYDNEY_DS data server, enter:
alter connection to SYDNEY_DS.pubs2 set parallel_dsi to 'on'
See “Configuring parallel DSI for optimal performance” for guidelines on configuring the parameters.