The giomgr.defs file and the SERVER_CONFIG system table

The giomgr.defs file in the etc directory of SDEHOME contains the data for populating the SERVER_CONFIG table (sde_server_config in SQL Server and PostgreSQL). The file is read when the SERVER_CONFIG repository table is created, which happens when you create an ArcSDE geodatabase.

The SERVER_CONFIG table contains initialization parameters and values that define how ArcSDE uses memory. Once the table exists, parameters are read from the SERVER_CONFIG table, not from the giomgr.defs file. The parameters are listed in the "ArcSDE initialization parameters" section of this topic.

Most of the initialization parameters in the SERVER_CONFIG table should not need to be altered from their default settings, except possibly the TEMP location on Windows installations and MINBUFFSIZE and MAXBUFFSIZE, which can be adjusted to improve data loading performance. See Buffer size initialization parameters for information on setting these parameters.

The TEMP parameter is used by ArcSDE to specify a temporary disk space directory used to store attribute binary large objects (BLOB) that exceed the size specified by the SERVER_CONFIG BLOBMEM parameter. If you do not set the TEMP parameter, a default location is assigned. That default location on Windows is the temporary folder of the user currently logged in to the Windows machine. To set a different directory for this temporary storage, you must either uncomment the TEMP parameter in the giomgr.defs file before running the postinstallation setup, or change the TEMP directory value using the sdeconfig –o alter command after the geodatabase is created. The following paragraphs discuss both of these options.

To alter the server initialization parameters before the ArcSDE geodatabase is created, see Altering SERVER_CONFIG parameters before the geodatabase is created.

To alter the server initialization parameters after the ArcSDE geodatabase is created, use the sdeconfig administration command. On Windows, this is most likely how you will alter the values of initialization parameters, since ArcSDE installation and Post Installation setup wizards are usually run sequentially. To alter the parameter before, you would have to exit the wizard after ArcSDE component installation is complete, change the giomgr.defs file, then reopen the Post Installation wizard.

See Altering SERVER_CONFIG parameters after the geodatabase is created for information on using the sdeconfig command to change values in the SERVER_CONFIG table, consult the Administration Command Reference provided with ArcGIS Server Enterprise.

ArcSDE initialization parameters

For your reference, the operation of and default settings for each ArcSDE initialization parameter are described in this list, along with notes of recommendation or warning.






Set this parameter to TRUE if you want your users to use session-based ArcSDE log files. Session-based log files are optimized for applications that remain connected to ArcSDE over an extended period of time and that select many records.

DB2, Informix, Oracle, and PostgreSQL = FALSE

SQL Server = TRUE


The size of the attribute array buffer

50,000 (100 rows with 500 bytes of attribute data each)

Performance is affected when the number of rows that can be fetched into the attribute buffer does not match the MAXARRAYSIZE parameter setting.

For queries involving multiple columns, add the number of bytes per column to get a total row size. The ATTRBUFSIZE divided by row size cannot exceed the number of rows specified by MAXARRAYSIZE. ArcSDE automatically reduces the size of the attribute buffer to hold MAXARRAYSIZE rows.


This is the implicit ArcSDE user automatic commit rate within a transaction. If AUTOCOMMIT is set to 0, the transaction commits only if the application issues an explicit commit. If it is set to a number greater than 0, the operation commits after the number of updates specified has occurred. (For instance, for the default setting, the transaction commits after 1,000 updates.) This feature prevents transactions from becoming too large and exceeding the database management system (DBMS) logs.



The encrypted license keycode

No default value

This value is assigned during setup; you should not alter it within the SERVER_CONFIG table or giomgr.defs file.


When BLOB are stored, the server must accumulate the BLOB chunks the application sends over the network. If the BLOB size is greater than BLOBMEM, the server writes the BLOB data to a disk file before storing it in the database. If the BLOB size is smaller than BLOBMEM, the server accumulates the BLOB in memory. If BLOBMEM is a negative number, the server always uses memory, regardless of the BLOB size.



The maximum number of simultaneous connections accepted by the geodatabase.

If you use an ArcSDE service, you must restart it for changes to take effect.


In ArcSDE 9 and later releases, this parameter also limits the number of direct connections. Therefore, your total number of two- and three-tiered connections cannot exceed the value of this parameter.


You can set this parameter to 32-bit integer precision. Spatial columns created with the default value of 64-bit will store 64-bit geometry.

64-bit integers

This is set to 64-bit integers by default in new installations of ArcSDE 9.2 or later releases.


Set to TRUE, this disables the describe cache; set to FALSE, the describe cache is enabled.


It is recommended that you use the default—describe cache enabled. The value should only be changed to TRUE if you experience structured query language (SQL) syntax errors using in-line or aggregate functions in select lists.


Disables the autoregistration of business tables containing spatial columns created with an object relational data type

When the ArcSDE service is started, it scans the system tables for any unregistered spatial columns that may exist in the database, and registers them. Setting DISABLEAUTOREG to FALSE enables this capability.


This functionality is present for the DB2 Spatial Extender, Informix Spatial DataBlade, and Oracle Spatial geometry storage types. It is not present in geodatabases in SQL Server or PostgreSQL.


Determines whether the time stamp, session ID, and client computer name are logged with each error when an error is written to the ArcSDE error log file. If you want to limit the items included with the error, set the parameter to the letters of those items. (See default list.) If you want to include none of these items with the error, set the parameter to NONE.

This parameter is set by default to TIC. T—Time stamp I—Session ID C—Client computer


By default, this parameter is set to TRUE, which directs ArcSDE to keep and reuse all session-based log file tables that it has checked out of the session log file pool until it disconnects. When set to FALSE, ArcSDE client applications release log files to the pools whenever log files are deleted.


In almost all cases, this should be left set to TRUE.


Leave this parameter set to FALSE (the default) if you want to disable 64-bit integers, which you need to do if your application does not support them. When set to FALSE, ArcSDE returns 64-bit integer fields as double precision and disallows the creation of 64-bit integer fields. Setting this parameter to TRUE allows you to use 64-bit integer attribute columns.


You must set this parameter to FALSE if your application does not support 64-bit integers.


The value of this parameter is used in the calculation of the number of row ID values ArcSDE allocates to a buffered stream.

When ArcSDE detects that a buffered stream is attempting to load a large number of records into a table, it calculates the number of row IDs to be allocated as the minimum of this parameter and twice the current row ID allocation. The row ID allocation is initially set to the value of the SMALLIDBLOCK and doubles in size until it reaches LARGEIDBLOCK.



As of ArcSDE 9, layer autolocking has been disabled by default. You can enable it by setting the server configuration parameter LAYERAUTOLOCKING to TRUE, in which case layers that have their autolocking property enabled will autolock shapes when they are edited in NORMAL_IO mode.

The LAYERAUTOLOCKING parameter is, therefore, similar to a master switch; once you change LAYERAUTOLOCKING to TRUE, all layers that have the autolocking property enabled autolock shapes when edited in NORMAL_IO mode.

By default, layers are created with their autolocking property enabled. (You can view the autolocking status of a layer using the sdelayer –o describe_long command.) To disable autolocking for a particular layer, use the sdelayer administration command with the alter operation.

ArcSDE 9 = FALSE Before ArcSDE 9 = TRUE

This parameter was added for backward (pre 9) compatibility to allow users to continue using autolocking (such as those who have custom applications that rely on it).


This parameter specifies the size of the session-based log file pool. By default, this parameter is set to 0, which represents the number of log file tables that are owned by the ArcSDE administrator and shared among users. Users may check out log file tables from the pool as opposed to creating their own.


This parameter replaced SESSIONLOGPOOLSIZE beginning with ArcSDE 9. If you do not want to use a log file pool, leave this set to 0.


This is the maximum number of array bytes allocated per stream. It is used to manage the memory allocations for array buffers on the server.


The sum of ATTRBUFSIZE and SHAPEPTSBUFSIZE must be less than or equal to MAXARRAYBYTES. If it is not, the ArcSDE service will not start. If this problem occurs, either increase MAXARRAYBYTES or decrease either ATTRBUFSIZE or SHAPEPTSBUFSIZE.

This value cannot be changed with the SE_connection_set_stream_spec function and can only be altered in the SERVER_CONFIG table by the ArcSDE administrator.


The maximum number of rows that the server fetches per request


Optimal values can range between 20 and 150, depending on platforms and DBMS. Once the shape points data (SHAPEPTSBUFSIZE) and attribute buffer (ATTRBUFSIZE) are correctly tuned, try several array sizes to determine the optimal setting for your installation.


The maximum size of user-defined BLOBs in bytes


Beginning with ArcGIS 10, this parameter is set to -1, SE_UNLIMITED_BLOBSIZE. All new and upgraded geodatabases will be made unlimited.


This is the maximum buffer threshold. The minimum value is 12,288 (12 KB).

64 kilobytes

If the MAXBUFSIZE value is greater than 12 KB but less than the MINBUFSIZE, the two values are switched. See Buffer size initialization parameters for more information.


This parameter controls the maximum number of distinct values returned by an SE_DISTINCT_STATS statistic in a call to SE_table_calculate_stats or SE_stream_calculate_table_statistics. A value of 0 means an unlimited number of distinct values can be returned.


The distinct values are generated in memory on the server and passed to the client's memory when the list is complete.

Calculating the statistics of a large table could pose a threat to the client and server resources. Set this value high enough to allow most queries to complete but not so high as to expose the server or the client application to a memory shortage. Should a user receive the error message SE_TOO_MANY_DISTINCTS, the MAXDISTINCT parameter can be raised, but this should be done cautiously since it impacts both client and server memory. It may be advisable to examine the applications to determine whether queries could be performed more efficiently.


This parameter specifies the maximum number of features allowed in the initial features argument of the sdelayer administration tool and the SE_layer_create function. This parameter prevents the inadvertent creation of excessively large initial extents for a feature class.


This is an ArcSDE for Oracle parameter only.


Specifies the maximum number of grids per feature in the spatial index


This parameter cannot be set below 1,000.

This parameter only applies to spatial storage types that use grid indexes.


The maximum number of stand-alone log file tables a user is allowed to create


If using any log file configuration other than stand-alone log file tables, keep this parameter set to 0.


Specified in seconds, MAXTIMEDIFF is the maximum time difference allowed between the system clocks of the server machine and a client machine.

It prevents an unauthorized entry by someone who may have captured a network packet containing an ArcSDE connection string. When this person tries to resend the packet, it is rejected if the time that has elapsed between the capture and the resend is greater than the MAXTIMEDIFF setting.

1,800 seconds

This parameter does not restrict direct connections. Set this parameter to -1 to disable it. If the error message -99 password received was sent 7 MAXTIMEDIFF seconds before, is received for legitimate connections, reset the system time of the client machine to the system time of the host machine.


The minimum number of buffer objects (rows) in the transport buffer

512 rows

MINBUFOBJECTS depends on the size (bytes) of a row of data. See Buffer size initialization parameters for more information.


The minimum buffer threshold; the minimum value is 4 kilobytes.

16 kilobytes

Setting MINBUFSIZE too high increases wait time; therefore, set MINBUFSIZE to no more than one-half of the MAXBUFSIZE. See Buffer size initialization parameters for more information.


The process statistics parameter controls the interval at which sessions update the PROCESS_INFORMATION table. By default, this parameter is set to -1, which disables entries to the PROCESS_INFORMATION table. To enable entries, set the parameter to a positive integer that reflects the interval, in seconds, in which the sessions write their statistics to the table.

The interval represents the time that must pass before the session last wrote statistics. The session only writes statistics if a change has occurred.


Writing statistics to the PROCESS_INFORMATION table can be expensive and should be avoided.


This parameter defines the size of the raster buffer, which controls raster data transfer.

The raster transfer includes both an array buffer and transport buffers. The raster array buffer is set at two times the RASTERBUFSIZE parameter, while the raster transport buffers are set to the RASTERBUFSIZE. Therefore, the memory allocated to raster transfer on the server is three times RASTERBUFSIZE.

On the client, RASTERBUFSIZE bytes of memory are allocated to the client raster transport buffer when raster tiles are accessed by a stream. The raster buffers are not deallocated until the stream is closed, unless the stream is added to the stream pool. (See STREAMPOOLSIZE.)

204,800 bytes

This value is specified in bytes and must be large enough to store the largest raster tile accessed. The SE_RASTERBUFFER_TOO_SMALL error is returned if the raster tile does not fit into the transport buffer.

If memory is at a premium, specify a smaller tile size rather than raise the RASTERBUFSIZE.

The pixel depth must be taken into account when calculating the number of bytes per pixel.

Examples: image pixel depth=64-bit, tile size=128 * 128, required RASTERBUFSIZE=131,072 bytes (128 * 128 * 8) image pixel depth=8-bit, tile size=256 * 256, required RASTERBUFSIZE=65,536 bytes (256 * 256 * 1)

For ArcSDE 9.2 and later releases, the throughput of ArcSDE raster data is threaded to make better use of the server's processing power. Additionally, several memory buffers are being used. Therefore, it is very important to set the RASTERBUFSIZE parameter no larger than 1 MB.


This parameter either allows or disallows edits of the geodatabase by ArcSDE clients. When set to TRUE, the ArcSDE service does not allow edits to be performed by ArcSDE clients.


FALSE = allows editing

TRUE = read-only connection


This is the size of the shape POINTS array buffer.


The default value (400,000) is calculated for a two-dimensional area feature with 500 points.


The value of the parameter is used to calculate the minimum number of row IDs that ArcSDE allocates to the stream.



This parameter disables or enables the autolocking of the states.

FALSE (disables autolocking of states)

Unless you have third-party applications (those not created by ESRI) editing states, you should not set this parameter to TRUE because it degrades the overall performance of your system.


When state caching is set to TRUE, the state of each stream is maintained in memory on the server. If set to FALSE, the state must be read from the disk for each stream operation.

Frequent stream operations should be cached for maximum performance.



Values are 1 if this instance is accepting new connections or 2 if it is paused (not accepting new connections).


This parameter applies to both ArcSDE service and direct connections.


This is the maximum number of allocated stream resources added to the stream pool.

The resources of the stream pool are reused whenever new streams are created. Until the value of STREAMPOOLSIZE is exceeded, the resources of released streams are added to the stream pool. If the stream pool is full when a stream is released, its resources are deallocated.


If the STREAMPOOLSIZE is set to 0, no pool of released stream resources is created.


Setting TCPKEEPALIVE to TRUE allows the ArcSDE service (application server) to use the TCP/IP KEEPALIVE settings of the current system. ArcSDE services can then detect clients whose machines have crashed or have been deliberately terminated by the Windows Task Manager or the UNIX kill command.

TCPKEEPALIVE set to TRUE turns on a form of probing in which, following an interval of idle time specified by the operating systems keep alive interval, a packet is sent on the idle connection to see if there is anything on the other end. If a response is not received, several more packets may be resent based on the keep alive configuration of the operating system before it is established that the client no longer exists and the application connection is terminated. TCPKEEPALIVE does not disconnect valid connections that have simply been sitting idle for more than two hours. It only disconnects application connections that have been terminated or have crashed.

Changes to the TCPKEEPALIVE parameter do not take effect until the ArcSDE service has been restarted.

Use the sdemon -o info -I config command to determine the setting of the parameter on the application server.

For more information on altering the keep alive configuration, consult your operating system documentation.


If TCPKEEPALIVE is set to TRUE, a disconnection can be triggered by short-term network outages (~10 minutes). TCPKEEPALIVE will not disconnect a direct connection.

The system's TCP/IP KEEPALIVE setting is systemwide and affects all application server processes running in the TCP/IP environment.


Specifies the full path to a temporary disk space directory; examples of things stored in the TEMP file include log files if no etc directory exists under SDEHOME and temporary files used when setting up named pipes for the gsrvr process.

The full path to the system temporary directory (for example, c:\documents and settings\username\local settings\temp)

If you do not set this parameter in the giomgr.defs file before geodatabase creation on Windows, a warning is issued during setup and a default location is assigned. That default location on Windows is the temporary folder of the current Windows user. For UNIX, the default location is \temp.


The time last modified interval (TLMINTERVAL) is the number of seconds that must pass before the TABLES_MODIFIED (SDE_TABLES_MODIFIED in SQL Server and PostgreSQL databases) ArcSDE system table is queried again by ArcSDE to determine if a change has been made to any of the other ArcSDE tables.

1 second

If the ArcSDE metadata is not changing (in other words, you are not adding, removing, or altering layers, raster columns, or XML columns or changing the registration of business tables), you can set this parameter higher than the default to avoid the overhead of queries to the TABLES_MODIFIED table.


TRIMLOCKINGTYPE defines whether or not explicit table locking occurs on a versioned table’s D (deletes) table during a compress operation or when a versioned row is updated or deleted. By default, explicit table locking is enabled. Possible values are as follows:

  • NEVER: Do not perform extra locking during update, trim, or delete operations.

    Only use NEVER if you never run compress while users are editing

  • ALWAYS: Just before a versioned table is edited, its deletes table is locked in ROW EXCLUSIVE MODE. Just before a versioned table is processed by trim (including the trim during a compress operation), it is locked in SHARE MODE.

    Use ALWAYS if you have written custom client programs that directly call the trim function.

  • ONLY DURING COMPRESS: Same as ALWAYS mode, but locking for trim is only performed when the trim is done as part of a compress operation.


This parameter applies to ArcSDE for Oracle only. Codes stored in the table are: 1 = Never, 2 = Always, and 3 = Only during compress

Initialization parameters

Related Topics