What is the DBTUNE table?
At its most basic level, the dbtune table is a lookup table; when you create data in, or add data to, a geodatabase, ArcSDE looks in the dbtune table for the configuration keyword you specify. ArcSDE takes the parameters and configuration strings associated with the keyword and appends them to the CREATE TABLE or CREATE INDEX statements the client application sends to the database. This determines how that table or index gets stored in the database.
For example:
A user named pablo creates a new mines feature class using the New Feature Class wizard in ArcCatalog. Pablo specifies a name for the feature class (mines), field names, types, and lengths. He also specifies the DEFAULTS configuration keyword when creating the feature class and specifies, all the other characteristics of the feature class using the wizard. Because pablo's geodatabase is stored in Oracle, the wizard causes CREATE TABLE and CREATE INDEX statements to be sent to Oracle. ArcSDE searches the DBTUNE table for all records with DEFAULTS as the keyword. It adds the config_string values for each parameter associated with the DEFAULTS keyword to the CREATE TABLE and CREATE INDEX commands sent by the wizard to the database. For the B_STORAGE parameter (which specifies the storage for the business table of the feature class) under DEFAULTS, the statement might be as follows:
CREATE TABLE pablo.mines (OBJECTID NUMBER(38), NAME NVARCHAR2(40), STATUS NUMBER(4)...)
IN TABLESPACE gisdata
WHERE PCTFREE = 0 and INITRANS = 4
Esri does not recommend you use SQL from a SQL editor to directly alter the contents of the dbtune. Doing so would bypass certain protections written into the sdedbtune command line tool, possibly leading to reduced performance.
The dbtune table is created when you create the geodatabase and populated with default keywords, parameter names, and configuration string values. The table contains the following columns:
- keyword: The configuration keyword
- parameter_name: The configuration parameter
- config_string: The value assigned to the configuration parameter
The DBTUNE table in Informix
Some things for which the DBTUNE table is used in Informix databases include these:
- Loading tables and indexes into specific dbspaces
- Setting exclusive locking, to allow for database compression while existing users are still connected to the database
- Specifying the fillfactor for indexes
- Setting the maximum number of cached cursors to use