Show Navigation | Hide Navigation

Troubleshooting the ArcSDE service

Release 9.2
Last modified December 3, 2010
E-mail This Topic Printable Version Give Us Feedback


Related Topics

NOTE: ArcSDE Enterprise only



Most problems associated with starting an ArcSDE service occur because of a problem with the system environment. Often, a critical step was missed during the installation or configuration of the software.

To help you navigate within this topic, you can use the following links:



Some ways you can identify problems




Top of page

Common problems


Below are some specific common problems you might encounter, grouped by server type.


Unix servers


System path variable issues
If the system path variables are improperly or not set, you can get the errors below. Review how to set the path variables for your ArcSDE product in the ArcSDE Installation Guide.



ArcSDE service already started
If the ArcSDE service license has not been installed, the application server will not start. You must install the license using the keymanager administration command. Contact ESRI Customer Support to obtain a valid license.

If the input/output (I/O) manager is already running, the following message appears:

SDE Already Running
ArcSDE server license has not been installed


Temporary file permission problems
If any ArcSDE temporary files exist and they are not owned by the ArcSDE administrator, the following error message is returned:

ERROR: Cannot Initialize Shared Memory (-79)
Delete /tmp/<service name> and /tmp<service
name>.lock if present.
Could not start ArcSDE - Check Network,
$SDEHOME disk, DBMS settings and dbinit.sde.


To fix this, delete the temporary files /tmp/<service name> and /tmp/<service name>.lock. For example, if the service name is ESRI_sde, you would delete the files /tmp/ESRI_sde and /tmp/ESRI_sde.lock. You may have to log in as the root user to delete these files.

Files have been deleted from /tmp
If after the ArcSDE service has been started, the files stored under the /tmp directory are deleted, the ArcSDE service will fail when a user either connects or disconnects. The service relies on Unix socket protocol files created under the /tmp directory. As a rule you should not delete the files under the /tmp directory. However, if you absolutely must, you should shut down the ArcSDE service before doing so. See Stopping an ArcSDE service for instructions on how to do this.

Problems relating to the DBMS


The SE_OUT_OF_MUTEXES (-109) error on a Solaris server
The Solaris operating system uses files to implement the POSIX shared semaphores that ArcSDE uses. If these files get left behind after an operating system failure or power outage, they can sometimes cause problems. The location of these files is controlled by the Solaris operating system. You will find them under either the /tmp or the /var/tmp directories as follows:

/tmp/.SEMD/
SDE_9.0_<instance>_iomgr_shared_semaphore
/tmp/.SEML/
SDE_9.0_<instance>_iomgr_shared_semaphore


or

/var/tmp/.SEMD/
SDE_9.0_<instance>_iomgr_shared_semaphore
/var/tmp/.SEML/
SDE_9.0_<instance>_iomgr_shared_semaphore


Following an operating system failure, if you fail to start the ArcSDE service and receive a -109 error, it is probably because the two shared semaphore files exist. If you find either of these files in either the /tmp or /var/tmp locations, delete them and try to start the ArcSDE service again.

Top of page


Windows servers


Listed below are errors often encountered when starting an ArcSDE service. This list includes the error numbers, where applicable, and their likely causes.

997 Error starting ESRI_sde service
This error can occur with an incorrect or incomplete installation or configuration of ArcSDE:
"ESRI_sde service failed during initialization.
Please check event log or error log files.
Error starting ESRI_sde service(997)
Could not start ArcSDE -- Check Network, $SDEHOME disk, DBMS settings"
Solution



1068 Dependency failure
The DBMS to which the ArcSDE service is trying to connect could not be found. The most likely causes of this problem are



Make sure the DBMS server exists and the service is started, and check your DBMS connection information to ensure it is correct. If the error persists, use the sdeservice command to delete the existing ArcSDE service and re-create it.

1069 Login failure
Generally, this error implies that the Windows user who started the ArcSDE service is neither a Windows administrator nor a Windows power user. An incorrect password is another possibility.

If the system administrator account is not being used to start the service, make sure the user account is a member of the administrator or power user group.

1072 Registry was busy
Something is happening in the registry regarding the ArcSDE service entry. Perhaps the sdeservice with the –o delete option was run, or the service has been opened with the registry editor. Alternatively, there may have been a problem with the Object Linking and Embedding Database (OLE DB) provider. Consult the installation guide for the correct version for the OLE DB provider for your installation.

1075 Service dependency deleted
The ArcSDE service is unable to locate the DBMS service to which it should connect. Make sure the DBMS service exists and is started. If the problem persists, use the sdeservice command to delete and re-create the ArcSDE application server.

2140 Internal Windows error
The ArcSDE service wasn't able to complete the startup process. Examine the sde error logfile—%SDEHOME%\etc\sde_<sde_instance>.log—for possible clues as to why the ArcSDE service will not start.

Possible causes and solutions include



An error was encountered while running ArcSDE Post Installation. Operation Failed, Unable to start iomgr. DBMS error code: 2714
You could see this error on a SQL Server database when attempting to start the service using the Post Installation wizard after the service has been created and an attempt to start the service has been made.

The likely cause is the name of the geodatabase has been changed. A scenario in which this might occur is when you back up a current database and restore it with a different name for testing purposes within the same instance of SQL Werver.

It is not possible to rename an ArcSDE geodatabase once it has been created. The name of the original database is hard coded in database objects. When the name of a database is changed using a stored procedure or a database is restored to a name different from the original, the ArcSDE service for this database will not start.

Solution

Rename the database to its original name. Follow the steps below:

1. Shut down the service receiving changes.
2. Exit Enterprise Manager.
3. For SQL Server 2000, run the following system stored procedure against the master database in Query analyzer:

EXEC sp_renamedb [@dbname = ] 'old_name', [@newname = ] 'new_name'


For SQL Server 2005, issue the following query in SQL Server Management Studio:

ALTER DATABASE <database_name> MODIFY NAME = <new_database_name>

If this is not possible, because an existing database shares the same name, a different path must be used. If the original goal was to create a duplicate database for testing, a new database with a new name must be created. The ArcSDE Post Installation wizard should be used to populate the repository, authorize the software, and create the service. The data can then be copied between the two databases in ArcCatalog.

gsrvr.exe - DLL Initialization Failed or gsrvr.exe - Application Error: The application failed to initialize properly
On Windows, the ArcSDE service is started as a noninteractive desktop. The maximum amount of heap memory allocated to noninteractive desktops is limited by a Windows initialization parameter called SharedSection. If you receive this error message, you may need to change the SharedSection parameter.
The CONNECTIONS parameter in the SERVER_CONFIG table also restricts the number of concurrent connections a single ArcSDE service allows and may need to be increased.

  1. Heap memory
  2. The maximum amount of heap memory available for all desktops, both interactive and noninteractive, is 48 megabytes. Since the amount of memory is finite, you should take care in adjusting the SharedSection parameter.

    If the ArcSDE service starts as a domain account, the gsrvr.exe allocates from the desktop a noninteractive desktop heap of 512 KB, created for the ArcSDE service.

    If the ArcSDE service starts as the LocalSystem account, the gsrvr.exe allocates from the shared desktop a noninteractive desktop heap of 512 KB, pertaining to all services running as LocalSystem.

    If the ArcSDE service starts as the LocalSystem account with Allow service to interact with the desktop enabled, gsrvr.exe allocates from the default desktop, an interactive desktop heap of 3 MB.

    Solutions:

    The solution depends on the ArcSDE platform. Step 1 is applicable to all ArcSDE database types. Step 2 is applicable to SQL Server sites only. Step 3 is applicable to sites using terminal services on their ArcSDE server. All three of these steps pertain only to Windows platforms.

    There is currently no method to determine how much memory is in use by a single desktop or how much is left within the global pool. Use oh.exe, a Windows resource kit tool, to monitor how many desktops are in use.


  3. SDE_SERVER_CONFIG CONNECTIONS parameter
  4. If you repeatedly reach the maximum number of concurrent connections allowed by the CONNECTIONS initialization parameter set in the SERVER_CONFIG system table, you will need to increase the value of this parameter. The default value is 48.

    Learn more about initialization parameters

    NOTE: Beginning with ArcSDE 9, direct connections count toward the number of connections as regards the CONNECTIONS parameter. In other words, the number of both direct connections and ArcSDE service connections cannot exceed the value of the CONNECTIONS parameter.



    Solution

    You can alter the CONNECTIONS initialization parameter in the SERVER_CONFIG table using the sdeconfig administration command.

    1. To see what the current CONNECTIONS parameter value is, use the sdeconfig –o list command at the command prompt. The syntax for this command is

    sdeconfig –o list [–p <SDE_admin_password>]


    This will return all the initialization parameters in the SERVER_CONFIG table and their values.

    2. Change the value of the CONNECTIONS parameter with the sdeconfig –o alter command.

    sdeconfig –o alter –v <Property_Name=Value,...> [–i <service]
    [–s <server_name>] [–D <database>] –u <SDE_admin_user>
    [–p <SDE_admin_password>] [–N] [–q]


    In this case, the Property_Name would be CONNECTIONS and the Value would be the number to which you want to increase the number of allowed concurrent connections.

    For details on using the sdeconfig command, consult the Administration Command Reference.
Top of page


Tips



Please visit the Feedback page to comment or give suggestions on ArcGIS Desktop Help.
Copyright © Environmental Systems Research Institute, Inc.