A quick tour of ArcSDE services

This topic explains how an ArcSDE service works and what happens when a client connects using an ArcSDE service.

How the ArcSDE service works

When you connect to the database with an ArcSDE service (also called an ArcSDE application server), each ArcSDE service listens for user connections on a dedicated TCP/IP service name and port number through the giomgr process. The default service name is esri_sde, and the default port number is 5151.

The service name and port number must be added to the services.sde file in $SDEHOME/etc (Linux) or %SDEHOME%\etc (Windows). To learn more about this file, see The services.sde file. You must also add the same entry to the operating system services file.

On Windows systems, the ArcSDE service can be started and stopped from the Windows Services menu. For Linux and UNIX, you must always use the sdemon command.

NoteNote:

Most of the supported database management systems (DBMS) allow more than one database on a server. Each database must have its own ArcSDE service, but multiple client connections can be made to the database using that ArcSDE service.

What happens when a client application connects using an ArcSDE service?

The following sequence of events takes place when an ArcGIS client application connects to an enterprise geodatabase using an ArcSDE service.

  1. The giomgr process listens for connections on its TCP/IP port.

    The giomgr must be in a listening state before it can process a connection request. Make sure the ArcSDE service is started and listening. On UNIX and Linux, use sdemon –o status to determine the state of the giomgr process.

    On Windows, examine the state of the ArcSDE application service from the Services menu. Open the Windows Administrative tools. Double-click the Services icon to invoke the Services menu. The ArcSDE service should have a status of STARTED under the status field. On Windows, you can also use the sdemon –o status command from an MS-DOS command tool instead of the Services menu.

  2. Applications submit connection requests to the ArcSDE service.

    The giomgr process responds to connection requests serially. Depending on the underlying DBMS, the giomgr process may require anywhere from 1 to 5 seconds to validate a connection request. It is possible that if many applications are trying to obtain a connection at the same time, some may exceed the standard TCP/IP 75-second time-out.

  3. The giomgr compares the application computer's clock time with its host's clock time.

    If the application computer's clock time is more than the MAXTIMEDIFF value in seconds from the server's clock time, the giomgr process does not allow the application to connect. MAXTIMEDIFF is set in the SERVER_CONFIG table. See The SERVER_CONFIG system table for details.

  4. The giomgr compares the client application's release with the ArcSDE service's release.

    If the client application's release is older than the application server's release, the connection is refused, except in the case of ArcGIS 10 clients connection to 10.1 application servers.

  5. The giomgr process starts a gsrvr process that serves the application.

    The giomgr process must be able to spawn a gsrvr process. If the maximum number of processes determined by current operating system restrictions has been reached, this operation fails and no gsrvr process is created.

  6. The gsrvr process connects to the DBMS.

    The client application must provide a valid user name, password, and database name (the database name is not needed for Oracle DBMSs) when it submits the connection request to the giomgr process. Invalid entries are rejected with a -9 SE_INVALID_USER error.

  7. The giomgr process attaches the application to the gsrvr process.

    Once the giomgr process has attached the application to the gsrvr process, it resumes listening for new connections and performing other ArcSDE service management tasks. All application communication with the DBMS is conducted through the gsrvr process.

Related Topics

8/21/2013