You can use sdemon to start, pause, resume, and shut down all connection activity and display current configuration parameters and server task information. Individual server tasks can also be managed.
Security: Execution privileges are granted exclusively to the ArcSDE administrator for the start operation. All other operations may be executed by any user who knows the password.
sdemon -o status {[-i {<service> | <port#> | <direct connection>}]
[-s <server_name>] | [-H <sde_directory>]} [-q] [-u <user_name>]
[-p <user_password>] [-D <database_name>]
sdemon -o start {[-i {<service> | <port#>}] [-s <server_name>] | [-H <sde_directory>]}
[-p <ArcSDE_admin_password>]
sdemon -o shutdown {[-i <service>] [-s <server_name>] | [-H <sde_directory>]}
[-p <ArcSDE_admin_password>] [-N]
sdemon -o pause {[-i {<service> | <port#> | <direct connection>}]
[-s <server_name>] | [-H <sde_directory>]}
[-p <ArcSDE_admin_password>]
sdemon -o resume {[-i {<service> | <port#> | <direct connection>}]
[-s <server_name>] | [-H <sde_directory>]}
[-p <ArcSDE_admin_password>]
sdemon -o info -I <{users | users_long | config | stats | locks | vars | instances}>
[-q] {[-i {<service> | <port#> | <direct connection>}]
[-s <server_name>] | [-H <sde_directory>]}
[-u <user_name>] [-p <user_password>] [-D <database_name>]
sdemon -o kill -t <{ all | pid }> [-p <ArcSDE_admin_password>] [-N]
{[-i {<service> | <port#> | <direct connection>}]
[-s <server_name>] | [-H <sde_directory>]}
[-u <user_name>] [-p <user_password>] [-D <database_name>]
sdemon -h
sdemon -?
Operation | Description | Example |
info |
Displays information about users, configuration, statistics, locks, or environment variables
Does not require the ArcSDE administrator password to execute |
Obtain information about an ArcSDE geodatabase |
kill | Terminates all connections or a specified connection to the geodatabase | Remove connections from a geodatabase |
pause | Disallows further client connection requests, both ArcSDE service and direct connections, to be processed | Pause an ArcSDE service |
resume | Allows client connection requests to be processed again; client tasks are allowed to connect to ArcSDE servers through this ArcSDE service. | Resume a paused service |
shutdown | Shuts down the ArcSDE service immediately if no server tasks are running | Stop an ArcSDE service |
start |
Starts the ArcSDE service if it is not running
Note: Only the ArcSDE administrator can use this operation. |
Start an ArcSDE service |
status | Reports the service status (if one is running) and connection information | Discover the status of an ArcSDE service |
Options | Description |
-D |
Database name (not supported on Oracle)
The database name only needs to be provided with the status, info, or kill operations if you are making a direct connection to the geodatabase. |
-h or -? | Use either of these options to see the usage and options for the command. Note: If using a C shell, use -h or "-\?". |
-H | ArcSDE home directory (SDEHOME) |
-i |
ArcSDE service name or port number (default: esri_sde or 5151)
Note: When starting a remote service, you must use the service name. |
-I |
Only used with the info operation
Inquires about configuration, locks, statistics, users, environment variables, or user geodatabases stored in Oracle config: Displays current configuration variables instances: Name of the user-owned geodatabase to be queried (Oracle only) |
-N | No verification is performed; the operation begins immediately after being invoked. |
-o | Operation |
-p | For the start, pause, resume, shutdown, and kill operations, this option is used to specify the password of the ArcSDE administrator. For the status and info operations, this can be any database user's password. |
-q | Quiet—all titles and warnings are suppressed. |
-s | ArcSDE server host name (default: localhost) |
-t | Kills connections to the geodatabase all: Forcefully removes all connections pid: Removes the connection identified by the process identifier specified |
-u |
Database user name
This option is only used with the kill, info, and status operations when making a direct connection. When used with the kill operation, the -u option allows you to specify a database user who has the requisite permissions in the database to kill a direct connection to the database. Since the ArcSDE administrator user may not have all the necessary permissions, the user cannot be assumed to be the ArcSDE administrator, as it is with most of the other operations used with sdemon. When used with the info or status operations, this is the user name of any user who has access to the geodatabase. |
The start, shutdown, pause, and resume operations normally manage ArcSDE services installed on UNIX systems. ArcSDE services installed on Microsoft Windows systems are usually managed via the Windows Services dialog box.
The ArcSDE service may be managed remotely by including the server (-s) and service (-i) options on the command line. UNIX operating system ArcSDE services can be remotely managed by an sdemon operation executed on a Windows operating system. However, Windows operating system ArcSDE services can only be remotely managed by an sdemon operation executed from another Windows operating system. To remotely manage an ArcSDE service installed on a UNIX system, additional steps are required. Refer to the topics Starting an ArcSDE service and Stopping an ArcSDE service in the ArcGIS Desktop or ArcGIS Server help for a detailed discussion.
Note that you only need to specify the -H option (SDEHOME) if the variable is not set or you have multiple services and, therefore, multiple SDEHOME directories.
For a detailed discussion of the management of an ArcSDE service, refer to the Connecting to an ArcSDE geodatabase book for your DBMS in the ArcGIS Desktop or ArcGIS Server Help.
Only the start and shutdown operations cannot be executed by providing direct connection information instead of ArcSDE service connection information.
When using the kill operation to disconnect direct connections, you must use direct-connect syntax for the connection, not ArcSDE service connection syntax. Similarly, when using the kill operation to disconnect ArcSDE service connections, you must use the ArcSDE service connection syntax, not direct-connect syntax.
The ArcSDE administrator user has the required permissions to disconnect ArcSDE service connections to the geodatabase. However, to disconnect direct connections to the geodatabase, additional permissions must be granted to the ArcSDE administrator in most cases. What permissions are needed depends on the database management system (DBMS) being used to store the geodatabase. These permissions are as follows:
DBMS | Required permissions/authority |
DB2 |
The user needs DBADM authority. The SDE user normally has this, so no additional permissions should be needed.
Note: The kill operation cannot be used with sdemon if your DB2 DBMS is on a z operating system (z/OS). |
Informix |
The user must be the informix user.
Note: You must have Informix IDS 11 or a later release to use the kill operation with the sdemon command to disconnect direct connections to the geodatabase. |
Oracle | The user must have either the DBA role or be granted ALTER SYSTEM and the SELECT_CATALOG_ROLE. |
SQL Server | The user must be a member of the sysadmin or processadmin fixed server roles. If you are using a dbo-schema geodatabase, the ArcSDE administrator is already a member of sysadmin. If you are using an SDE-schema geodatabase, the user must be added to the processadmin fixed server role, not the sysadmin role. Putting the user in the sysadmin role automatically makes the user dbo, which incorrectly indicates to ArcSDE that the geodatabase has a dbo-schema. |
Note: This functionality is not currently supported in ArcSDE for PostgreSQL.
To display information about users, configuration, statistics, locks, or environment variables for an ArcSDE geodatabase, use the info operation. This example requests information about the ArcSDE service's configuration (only partial results are shown). Since the -i option is not specified, it is assumed the service is the default value (5151).
sdemon -o info -I config
ArcSDE I/O Manager Configuration Parameters at
Fri May 13 11:52:43 2005
————————————————————————————————————-
ArcSDE Version 9.1
ArcSDE Server Build for DB2
Underlying DBMS DB2
Max. Server Connections 50
Root Path D:\arcsde
Temp Path C:\Temp
...
This example makes a direct connection to a geodatabase in PostgreSQL to get information about locks:
sdemon -info -I locks -i sde:postgresql:myserver -u usera -p pwda -D gisdb
ArcSDE Instance sde:postgresql:myserver Lock Table Information on myserver
No ArcSDE Layer Locks registered.
1 SDE Id: 87, State: 4, Lock Type: Shared State
1 ArcSDE State Lock(s) currently in use.
1 SDE Id: 87, table: 55, Lock Type: Shared Table
1 ArcSDE Table Lock(s) currently in use.
No ArcSDE Object Locks registered.
In this example, information is requested for the sde and user-schema geodatabases on an Oracle database:
sdemon -o info -I instances
ArcSDE Instance sdeora10g's instances on verde at Thu Feb 24 08:23:14 2005
------------------------------------------------------------
Instance Type Created Id
-------- ----- -------------------------------- ------------
SDE MASTER Thu Oct 28 15:30:45 2004 0
FIELD PROJECT Thu Oct 28 16:38:46 2004 1
Note: Alternatively, you can use SQL to query the INSTANCES system table to obtain information about user-schema geodatabases.
The following example shows which users are connected to the ArcSDE geodatabase. In the returned information, S-ID is the server's SDE-ID, S-PID is the server's OS-level process ID, User is the name of the user under which the connection was made, Conn is the type of connection (AS = ArcSDE service/application server or DC = direct connection), Client:OS is the name of the connecting client machine and the operating system it is running, and Started is the date and time the connection was initiated.
sdemon -o info -I users -i 5100 -s datenbank
ArcSDE Instance 5100 Registered Server Tasks on datenbank at Wed Oct 29 10:29:00 2008
------------------------------------------------------------------------
S-ID S-PID User Conn ClientMachine:OS Started
----- -------- --------- ----- --------------------- ---------------------------
546 68821 RJP AS hundehutte:Win32 Mon Oct 27 07:32:56 2008
547 44790 PERRITA DC halter:Win32:XDR Mon Oct 27 08:11:05 2008
The same information returned with the users_long option would appear as follows:
sdemon -o info -I users_long -i 5100 -s datenbank
ArcSDE Instance 5100 Registered Server Tasks on datenbank at Wed Oct 29 10:32:47 2008
------------------------------------------------------------------------
Server task ID: 546
Server task PID: 68821
Connection type: AppSrvr
User name: RJP
Client machine: hundehutte
Client OS: Win32
XDR: no
Start time: Mon Oct 27 07:32:56 2008
Server task ID: 547
Server task PID: 44790
Connection type: Direct
User name: PERRITA
Client machine: halter
Client OS: Win32
XDR: yes
Start time: Mon Oct 27 08:11:05 2008
The kill operation disconnects all connections or a specified connection to the ArcSDE service or it can be used to kill all or a specified direct connection to the geodatabase. As mentioned previously, the syntax you use varies depending on what type of connections you are trying to remove.
In this example, all connections to the geodatabase medtrack are being removed.
sdemon -o kill -t all -i 4664 -p zeus
Kill should generally only be used if a user process has shut down incorrectly or hung.
Here, the connection for process ID (S-ID) 102 is being killed. Note: The process ID can be obtained by executing the sdemon command with the users or users_long option.
sdemon -o kill -t 102 -i 2000 -p pswd
To kill a connection to a user-schema geodatabase in Oracle, specify the geodatabase connection information. In the following example, the owner of the geodatabase, brogel, is killing process ID 211:
sdemon -o kill -t 211 -i 5100:brogel -p knock.knock
Note: If the owner of a user-schema geodatabase executes the kill operation with the all option, it drops all connections to all geodatabases in the Oracle instance, including connections to the master SDE geodatabase.
To kill a direct connection to the geodatabase, the ArcSDE administrator may need to be granted additional permissions in the database. See the Discussion section for a list of these permissions. In this example, one direct connection (SP-ID 42) is being dropped from the gdata database in the ss1\geo SQL Server instance:
sdemon -o kill -t 42 -i sde:sqlserver:ss1\geo -u sde -D gdata
Enter ArcSDE DBA password:
ArcSDE Instance sde:sqlserver:ss1\geo Process Management on gdata
Kill Server Task 42? ARE YOU SURE (Y/N)?: y
Using the pause operation prevents any additional client connection requests from being processed. No client tasks can connect to the ArcSDE geodatabase associated with this service until the service is resumed.
sdemon –o pause -i sde_service
Please enter ArcSDE DBA password:
ArcSDE instance sde_service on Rabbit is Paused, no further connections will be allowed.
The pause operation changes a value in the SERVER_CONFIG table, which also blocks new direct connections from being made to the geodatabase. Note: Although pausing an ArcSDE service also blocks direct connections, you cannot use sdemon -o pause if you only use direct connections (no ArcSDE service existis).
Use the resume operation to allow client connection requests to be processed again. Client tasks can connect to the ArcSDE geodatabase associated with this service once this command is executed.
sdemon –o resume -i sde_service
Please enter ArcSDE DBA password:
ArcSDE instance sde_service on Rabbit is Resuming, new connections will now be allowed.
Use the shutdown operation to immediately stop an ArcSDE service if no server tasks are running. If server tasks are running, you will be prompted to remove the running tasks before the shutdown takes place. If you use the -N option when shutting down, all server tasks stop and the system shuts down immediately. Note that the -i option is not specified in this example; since the default service name is used, it does not need to be explicitly stated.
sdemon -o shutdown -N
Please enter ArcSDE dba password:
ArcSDE instance esri_sde on Rabbit is shutdown!
sdemon -o start -s chile -i dev -p secret
Note: The service name (in this case, dev)—not the port number—must be used. Using the port number results in an error.
You can start a service from the command line on a local Windows server. If you only have one ArcSDE service, you do not need to specify the service name. If you do not specify the administrator password, you will be prompted for it.
sdemon –o start
Please enter ArcSDE DBA password:
ArcSDE instance esri_sde started Thu Aug 04 09:27:30 2005
To remotely start a service on a UNIX or Linux server, you can work from either a Windows or another UNIX or Linux machine. Before you can do this, however, there are some configurations you must perform..
Create the $SDEHOME/etc/dbinit.sde file with the database connection and the library path to the ArcSDE and DBMS dynamic libraries.
For example
set ORACLE_HOME=/bluebeard/oracle
set ORACLE_SID=ora
set LD_LIBRARY_PATH=/usr/lib:/bluebeard/oracle/lib:/bluebeard/oraexe/sdeexe91/lib
As the root user, duplicate the service name in the /etc/services file as a user datagram protocol (UDP) entry that uses the same port number.
esri_sde 5151/tcp
esri_sde 5151/udp
As the root user, update the /etc/inetd.conf file. Add this line to the bottom of the file:
<ArcSDE instance> dgram udp wait <ArcSDE home owner> <$SDEHOME>/bin/sderemote iomgr_inetd
<$SDEHOME><ArcSDE instance>
As the root user, identify the relevant process using the UNIX command ps - piped through grep. Reinitialize the inetd daemon by sending it a signal hang-up or SIGHUP.
$ ps -u root | grep inetd
root 112 1 0 Aug 28 ? 0:08 /usr/sbin/inetd -s
$ kill -HUP 112
Once these configuration steps are complete, you can remotely start the service using the start operation.
sdemon -o start -s bluebeard -i esri_sde -p my_password
This example shows starting a local service on a UNIX server:
sdemon -o start -s orr -i sde -p crab_apples
Note: The start operation does not use the service specified in the SDEINSTANCE variable.
The status operation reports whether an ArcSDE service is running, paused, or stopped and how many connections are currently being made to the geodatabase. The example below is reporting on the status of the esri_sde instance. It shows the service is running (not stopped or paused) and currently has two connections.
sdemon –o status
ArcSDE Instance esri_sde Status on Rabbit at Thu Aug 04 09:23:35 2005
---------------------------------------------------------------------------------
Server Connection Mode: Accepting Connections
Active Server Processes: 2
The geodatabase is paused when it is being upgraded. If you check the status at that time, the following message is returned:
ArcSDE instance is currently paused for upgrade, no new connections allowed now
Home
Copyright © Environmental Systems Research Institute, Inc. 2004 - 2010. |