ArcGIS Server Banner

ArcSDE initialization parameters

ArcSDE initialization parameters

Release 9.3 E-mail This TopicPrintable VersionGive Us feedback

NOTE: Applies to geodatabases created with an ArcGIS Server Enterprise license only

The ArcSDE initialization parameters are stored in the SERVER_CONFIG system table (SDE_SERVER_CONFIG in SQL Server and PostgreSQL databases), making them accessible to multiple services and direct connections. In most cases, the default values are sufficient and there is no reason to alter them. However, the values can be adjusted to control the resources allocated to each ArcSDE session. The parameters can be managed by using the sdeconfig administration command or editing the giomgr.defs file prior to the creation of the SERVER_CONFIG table.

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.


Parameter Description Default Note
ALLOWSESSIONLOGFILE 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

ATTRBUFSIZE 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 will automatically reduce the size of the attribute buffer to hold MAXARRAYSIZE rows.
AUTOCOMMIT This is the implicit ArcSDE user automatic commit rate within a transaction. If AUTOCOMMIT is set to 0, the transaction will commit only if the application issues an explicit commit. If it is set to a number greater than 0, the operation will commit after the number of updates specified has occurred. (For instance, for the default setting, a commit will occur after 1,000 updates.) This feature prevents transactions from becoming too large and exceeding the database management system (DBMS) logs. 1,000

AUTH_KEY 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.
BLOBMEM When binary large objects (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 less 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. 1,000,000 For most applications, the default BLOBMEM value is sufficient
CONNECTIONS The maximum number of simultaneous connections accepted by the application server

You have to restart the ArcSDE service for changes to this parameter to take effect.
48 Beginning with ArcSDE 9.0, this parameter also limits the number of direct connections. Therefore, your total number of connections, two-tiered and three-tiered, cannot exceed the value of this parameter.
DEFAULTPRECISION You may 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.
DISABLEDC Set to TRUE, this disables the describe cache; set to FALSE, the describe cache is enabled. FALSE It is recommended that you use the default—describe cache enabled. The value should only be changed to TRUE if you experience SQL syntax errors using inline or aggregate functions in select lists.
DETECT8XNULLSHAPE Set this parameter to TRUE if you are using ArcSDE for Oracle8i and you expect that at least some of your feature classes will contain NULL shapes. FALSE This is an ArcSDE for Oracle 8i parameter only and, therefore, is obsolete since Oracle 8i is no longer a supported DBMS version for ArcSDE geodatabases.
DISABLEAUTOREG 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. TRUE This functionality is present for the DB2 Spatial Extender, Informix Spatial DataBlade, and Oracle Spatial geometry storage types.

Not present in geodatabases in SQL Server or PostgreSQL
ERRLOGMODE 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. By default, this parameter is set to TIC.

T—Time stamp

I—Session ID

C—Client computer

HOLDLOGPOOLTABLES 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. TRUE In almost all cases, this should be left set to TRUE.
INT64TYPES Leave this parameter set to FALSE (the default) if you want to disable 64-bit integers, which you will need to do if your application does not support them.

When set to FALSE, ArcSDE will return 64-bit integer fields as double precision and disallow the creation of 64-bit integer fields. Setting this parameter to TRUE allows you to use 64-bit integer attribute columns.
FALSE You must set this parameter to FALSE if your application does not support 64-bit integers.
LARGEIDBLOCK 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. 0

LAYERAUTOLOCKING 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 will autolock shapes when edited in NORMAL_IO mode.

By default, layers are created with their autolocking property enabled. (You can view a layers autolocking status using the sdelayer -o describe_long command.) To disable autolocking for a particular layer, use the sdelayer administration command's alter operation.
ArcSDE 9 = FALSE

Before ArcSDE 9 = TRUE
This parameter was added for backward (pre 9.0) compatibility to allow users who want to continue using autolocking, or have custom applications that rely on it, a way to continue using it.
LOGFILEPOOLSIZE 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 files that will be owned by the ArcSDE administrator and shared among users. Users may check out log files from the pool as opposed to creating their own. 0 This parameter replaced SESSIONLOGPOOLSIZE beginning with ArcSDE 9.0.

If you don't want to use a log file pool, leave this set to 0.
MAXARRAYBYTES 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. 550,000 The sum of ATTRBUFSIZE and SHAPEPTSBUFSIZE must be less than or equal to MAXARRAYBYTES. If it isn't, 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.
MAXARRAYSIZE The maximum number of rows that the server will fetch per request. 100 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.
MAXBLOBSIZE The maximum size of user-defined BLOBs in bytes. 1,000,000 bytes If the size of a BLOB that is to be transferred between client and server exceeds MAXBLOBSIZE, ArcSDE returns the SE_BLOB_SIZE_TOO_LARGE (-80) error. Should this occur, the MAXBLOBSIZE must be increased to allow the BLOB to be transferred.
MAXBUFSIZE

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.
MAXDISTINCT 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. 512 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. A prudent database administrator will 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 may 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.
MAXINITIALFEATS 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. 10,000 This is an ArcSDE for Oracle parameter only.
MAXGRIDSPERFEAT Specifies the maximum number of grids per feature in the spatial index. 8,000 Cannot be set below 1,000
MAXSTANDALONELOGS The maximum number of stand-alone log files a user is allowed to create. 0 If using any log file configuration other than stand-alone log files, keep this parameter set to 0.
MAXTIMEDIFF Specified in seconds, 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 legitimate connections receive a "-99 password received was sent 7 MAXTIMEDIFF seconds before" error, reset the client machine's system time to the host's system time.
MINBUFOBJECTS 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.
MINBUFSIZE 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.
PRECISION10 For ArcSDE for Oracle, setting this parameter to TRUE increases the precision of the interpretation of the LONG integer value from 9 bytes to 10 bytes. At ArcSDE 8.1, the LONG integer was shortened to 9 bytes as a bug fix. However, this affected the storage of legacy data, which requires the LONG to be interpreted as 10 bytes. FALSE Unless you are having a problem with legacy data created prior to ArcSDE 8.1, do not change the setting of this parameter.
PROCSTATS 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 will write their statistics to the table. The interval represents the time that must pass before the session last wrote statistics. The session will only write statistics if a change has occurred. -1 Writing statistics to the PROCESS_INFORMATION table can be expensive and should be avoided.
RASTERBUFSIZE 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.)
102,400 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)

Beginning with ArcSDE 9.2, the throughput of ArcSDE raster data has been threaded to make better use of the server's processing power. Additionally, several more memory buffers have been added. Therefore, it is very important to set the RASTERBUFSIZE parameter no larger than 1 MB. The recommended size is 102,400 bytes.
READONLY This parameter either allows or disallows edits of the geodatabase by ArcSDE clients. When set to TRUE, the ArcSDE service will not allow edits to be performed by ArcSDE clients. FALSE FALSE = allows editing

TRUE = read-only connection
SHAPEPTSBUFSIZE This is the size of the shape POINTS array buffer. 400,000 The default value (400,000) is calculated for a two-dimensional area feature with 500 points.
SMALLIDBLOCK The value of the parameter is used to calculate the minimum number of row IDs that ArcSDE allocates to the stream. 16

STATEAUTOLOCKING 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 will degrade the overall performance of your system.
STATECACHING When state caching is set to TRUE, the state of each stream is maintained in memory on the server. If FALSE, the state must be read from the disk for each stream operation. Frequent stream operations should be cached for maximum performance. TRUE

STATUS Values are 1 if this instance is accepting new connections or 2 if it is paused (not accepting new connections). 1 Applies to both ArcSDE service and direct connections

This parameter must be altered using the sdemon command with the pause operation, not using the sdeconfig command.
STREAMPOOLSIZE 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. 6 If the STREAMPOOLSIZE is set to 0, no pool of released stream resources is created.
TCPKEEPALIVE Setting TCPKEEPALIVE to TRUE will allow the ArcSDE service (aka application server) to use the current system's TCP/IP KEEPALIVE settings. ArcSDE services will then be able to 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 system's 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 re-sent based on the operating system's keep alive configuration 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 crashed.

Changing the TCPKEEPALIVE does 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.
FALSE 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.
TEMP Specifies the full path name 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 will be issued during setup and a default location will be assigned. That default location on Windows is the temporary folder of the current Windows user. For UNIX, the default location is \temp.

TLMINTERVAL 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

  • NEVER: Don't perform extra locking during update, trim, or delete operations.
  • Only use if you never run compress while users are editing.

  • ALWAYS: Just before a multiversioned table is edited, its deletes table is locked in ROW EXCLUSIVE MODE. Just before a multiversioned table is processed by trim (including the trim during compress), it is locked in SHARE MODE.
  • Use this 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.
ONLY DURING COMPRESS This parameter applies to ArcSDE for Oracle only.

Codes stored in the table are

1 = Never, 2 = Always, and 3 = Only during compress.

See Also

  • The giomgr.defs file and the SERVER_CONFIG system table
  • Log file configuration options
  • Buffer size initialization parameters