Problem: ArcSDE server fails to start up
A number of items to check to help you start up your ArcSDE server.
The server may fail to start up for various reasons. The most common ones are addressed below.
Solution or Workaround
- The RDBMS server must be up and running.
- The RDBMS SDE user account must exist with appropriate permissions. For Oracle this is connect and resource. For SQL Server, this is create table and create procedure. Also, for SQL Server, make sure the SDE user's default database is the SDE database.
- For Windows NT and Windows 2000, if the SDE RDBMS password was not set correctly when defining the service, the service will not start. Modify the ArcSDE user's password if it was entered incorrectly:
sdeservice -o modify -r SDE_DBA_PASSWORD
- The ArcSDE home directory must exist and the system PATH variable must be updated to reflect its location, in particular, the \bin and \lib directories. The library path environment must include the necessary RDBMS library directory. For more information on how to set the library environment variable for your ArcSDE product, see the Install_Guide.pdf file in the SDEHOME documentation directory.
- An ArcSdeServer license must be available for checkout from a license server accessible through your network.
On Windows NT and Windows 2000, the ArcSDE administrator can determine which License manager the ArcSDE service is using by examining the LICENSE_SERVER registry parameter. Once you have identified which license manager is being used, you can check its current status by logging on and displaying the license manager status window on the computer that hosts the ArcSDE license manager. The display must include an entry for the ArcSdeServer license, the total number of licenses available for checkout, and the currently checked out ArcSdeServer licenses. Make sure there is at least one license available to check out.
On UNIX, to determine which license manager the ArcSDE service is using, examine the contents of the dbinit.sde file and list the system environment settings. You can set the ESRI_LICENSE_FILE variable in the dbinit.sde file to specify a license manager. The ESRI_LICENSE_FILE variable may contain multiple entries separated by a colon. The giomgr process accesses the license managers as they are listed from left to right. The first license manager the giomgr process is able to access with an available ArcSdeServer license becomes the ArcSDE service license manager. Any other entries are ignored.
- On Windows NT and Windows 2000, check the Application Log of the Event Viewer. This will provide diagnostic information that may help explain ArcSDE startup problems.
- Check the sde.errlog, the giomgr.log, and the sdelic.log in %SDEHOME%\etc or $SDEHOME/etc for more detailed information as to why the ArcSDE service may have failed.
- The giomgr.log file is a text file that contains an entry for all giomgr process activity, and is located in %SDEHOME%\etc or $SDEHOME/etc. Each time a user connects or attempts to connect to the ArcSDE service, a message is logged. When the user disconnects, another message is logged. The giomgr.log file also captures the startup and shutdown procedures of the ArcSDE service.
- Whenever a gsrvr process encounters a problem, the ArcSDE service records an entry in the sde.errlog, which is located in %SDEHOME%\etc or $SDEHOME/etc. Sometimes the messages are warnings, while other times they point to ArcSDE service errors that should be addressed. When examining the sde.errlog file, keep in mind that the messages written to this file only occur on the server. Sometimes an ArcSDE application will report an ArcSDE-related problem, but this event will not appear in the sde.errlog. The sde.errlog is truncated each time the ArcSDE service is started. The sdelic.log file records all license connection activity.
- Check your RDBMS error log files. Each RDBMS has its own way of logging errors. Consult the relevant RDBMS administration guide to determine how your RDBMS logs errors.
- For Windows NT and Windows 2000, make sure the ArcSDE service was created correctly by running the following:
sdeservice -o list -i <instance>
Check the SDEHOME variable, License_Server, data source, and status parameters. The Windows NT user who starts the ArcSDE service must be in either a Windows NT administrator or power user group.
- For Windows NT or Windows 2000 with Oracle 8.1.5, be sure you have the correct ORACLE_SID variable defined in:
- On Windows NT and Windows 2000, if the service was not created correctly, create a new service with sdeservice -o create. It is best to create the service without the service user parameters (-u and -P).
- On Windows NT and Windows 2000, start the server using the Services panel, and if it fails, try this:
sdemon -o start -i instancename
If the Windows service fails, the problem lies in your service definition or in the Windows services file.
You cannot have duplicate ports defined in your Windows services file.
- On UNIX, check permission on temporary files. 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.
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.
Refer to the ArcSDE Administration Guide and other documents in this Knowledge Base for additional help.