Commande sdemon

La commande sdemon permet principalement de gérer et de surveiller les services ArcSDE. Cependant, certaines des opérations permettent également de gérer ou de surveiller des connexions directes à la géodatabase.

Les opérations de démarrage (start), fermeture (shutdown), interruption (pause) et reprise (resume) gèrent normalement les services ArcSDE installés sur des systèmes UNIX. Les services ArcSDE installés sur des systèmes Microsoft Windows sont généralement gérés via la boîte de dialogue Services Windows.

Il est possible de gérer le service ArcSDE à distance en incluant les options de serveur (-s) et de service (-i) dans la ligne de commande. Il est possible de gérer les services ArcSDE du système d'exploitation UNIX à distance via une opération sdemon exécutée sur un système d'exploitation Windows. Cependant, les services ArcSDE du système d'exploitation Windows peuvent être gérés à distance uniquement via une opération sdemon exécutée à partir d'un autre système d'exploitation Windows. Pour gérer à distance un service ArcSDE installé sur un système UNIX, des étapes supplémentaires sont nécessaires. Pour plus d'informations, reportez-vous aux rubriques Démarrage d'un service ArcSDE distant sous Linux ou UNIX et Arrêter un service ArcSDE distant.

L'administrateur de la géodatabase possède les privilèges requis pour déconnecter (kill) les connexions du service ArcSDE à la base de données. Cependant, pour déconnecter les connexions directes à la géodatabase, des autorisations supplémentaires doivent être accordées à l'administrateur de la géodatabase dans la plupart des cas. Les autorisations nécessaires dépendent du système de gestion de bases de données (SGBD) utilisé pour stocker la géodatabase. Ces autorisations sont les suivantes :

Système de gestion de bases de données

Privilèges/autorité requis

DB2

L'utilisateur doit détenir l'autorité DBADM. L'utilisateur SDE la détient normalement, mais si elle a été révoquée, elle doit être accordée à nouveau pour qu'il puisse interrompre des connexions directes à la géodatabase.

Il est impossible d'utiliser l'opération kill avec sdemon si vous utilisez DB2 sur un système d'exploitation z (z/OS).

Informix

L'utilisateur doit être l'utilisateur informix.

Vous devez disposer d'Informix IDS 11 ou d'une version ultérieure pour pouvoir utiliser l'opération kill avec la commande sdemon pour interrompre des connexions directes à la géodatabase.

Oracle

L'utilisateur SDE doit détenir le rôle DBA ou les privilèges ALTER SYSTEM et SELECT_CATALOG_ROLE.

SQL Server

Si vous utilisez une géodatabase de structure dbo, l'administrateur de géodatabase est déjà membre de sysadmin et a la possibilité d'interrompre des connexions à des bases de données. Si vous utilisez une géodatabase de structure sde, l'utilisateur doit être ajouté au rôle de serveur fixe processadmin (et non au rôle sysadmin).

RemarqueRemarque :

Vous ne pouvez pas utiliser l'opération kill pour interrompre des connexions directes à des géodatabases dans PostgreSQL.

Syntaxe

Les outils de la ligne de commande d'administration ArcSDE utilisent une notation et une syntaxe de commande semblables à celles d'UNIX, conformes aux conventions suivantes :

sdemon -o start {[-i {<service> | <port#>}] {[-s <server_name>] | [-H <sde_directory>]}
 [-p <GDB_admin_password>]

sdemon -o pause {[-i {<service> | <port#>}]
 [-s <server_name>] | [-H <sde_directory>]}

sdemon -o resume {[-i {<service> | <port#>}] 
{[-s <server_name>] | [-H <sde_directory>]} [-p <GDB_admin_password>]

sdemon -o shutdown {[-i <service>] {[-s <server_name>] | [-H <sde_directory>]} 
[-p <GDB_admin_password>] [-N]

sdemon -o status {[-i {<service> | <port#>}] 
{[-s <server_name>] | [-H <sde_directory>]} [-q] [-u <user_name>] 
[-p <user_password>] [-D <database_name>]

sdemon -o info -I <{users | users_long | config | stats | locks |vars | instances}> 
[-q] {[-i {<service> | <port#>}] {[-s <server_name>] | [-H <sde_directory>]} 
[-u <user_name>] [-p <user_password>] [-D <database_name>]

sdemon -o kill -t <{ all | pid }> [-p <GDB_admin_password>] [-N] 
{[-i {<service> | <port#>}] {[-s <server_name>] | [-H <sde_directory>]} 
[-u <user_name>] [-p <user_password>] [-D <database_name>]

sdemon -h

sdemon -?

Opérations

Une opération effectue une tâche spécifique associée à la commande et elle est identifiée par l'option -o. Les opérations suivantes sont disponibles avec la commande sdeservice :

Opération

Description

démarrer

Démarre le service ArcSDE spécifié.

Seul l'administrateur de géodatabase peut utiliser cette opération.

interruption

N'autorise pas les nouvelles connexions de clients à la géodatabase, qu'il s'agisse de connexions au service ArcSDE ou de connexions directes.

Les connexions existantes sont conservées.

resume

Autorise de nouvelles connexions de clients à la géodatabase.

shutdown

Ferme le service ArcSDE immédiatement si aucune tâche de serveur ne s'exécute.

status

Fournit des informations relatives à l'état du service et à la connexion.

info

Affiche des informations relatives aux utilisateurs, à la configuration, aux statistiques, aux verrouillages ou aux variables d'environnement.

Tout utilisateur de base de données peut exécuter cette opération.

kill

Met fin à toutes les connexions ou à une connexion spécifiée à la géodatabase.

Options

Chaque opération présente un ensemble d'options. Puisque les options sont précédées d'une lettre spécifique, vous pouvez les transmettre dans un ordre quelconque. Les options font la différence entre les majuscules et les minuscules. Vous devez donc respecter la casse.

Selon l'opération effectuée, certaines options doivent ou non être spécifiées, comme l'indiquent les crochets ([ ]). Les options suivantes sont disponibles avec la commande sdeservice :

Option

Description

-D

Nom de la base de données, non pris en charge par Oracle

-h ou -?

Utilisez une de ces options pour afficher la syntaxe d'une commande.

Si vous exécutez la commande à partir d'un shell C, utilisez -h ou -\?.

-H

Répertoire de base d'ArcSDE (SDEHOME). Il n'est utilisé que si la variable SDEHOME n'est pas définie ou si plusieurs services sont utilisés

-i

Nom du service ArcSDE ou numéro de port ; obligatoire si la valeur par défaut, esri_sde, n'est pas utilisée.

-I

Utilisée uniquement avec l'opération info, cette opération interroge au sujet de la configuration, des verrouillages, des statistiques, des utilisateurs, des variables d'environnement ou des géodatabases de structure utilisateur (Oracle).

  • config : affiche les variables de configuration actuelles
  • locks : affiche des informations concernant les processus détenant des verrouillages
  • stats : affiche les statistiques relatives aux processus pour chaque connexion client/serveur ArcSDE ; fonctionne uniquement pour les services ArcSDE et seulement si le paramètre SERVER_CONFIG, PROCSTATS, est défini à une valeur autre que -1
  • users : répertorie les connexions utilisateur à la géodatabase, le type de connexion et les identifiants de processus associés ; chaque connexion = un enregistrement
  • users_long : répertorie les connexions utilisateur à la géodatabase, le type de connexion et les identifiants de processus associés ; les informations sont renvoyées sous forme de liste de propriétés pour chaque connexion
  • vars : affiche des variables d'environnement de service ArcSDE
  • instances : renvoie toutes les instances dans la base de données Oracle

-N

Aucune vérification n'est effectuée : l'opération commence immédiatement après avoir été appelée.

-o

Spécifiez une opération.

-p

Pour les opérations start, pause, resume, shutdown et kill, cette option permet de spécifier le mot de passe de l'administrateur de la géodatabase. Pour les opérations status et info, cela peut être n'importe quel mot de passe d'utilisateur de base de données.

-q

Tous les titres et avertissements sont supprimés.

-s

Nom d'hôte du serveur ArcSDE (par défaut localhost)

-t

Utilisé avec l'opération kill pour préciser l'un des éléments suivants :

  • all : toutes les connexions à la géodatabase sont supprimées par la force
  • A pid : supprime uniquement la connexion identifiée par l'identifiant de processus transmis avec l'option

-u

Il s'agit du nom d'utilisateur de la base de données.

Lorsqu'elle est utilisée avec l'opération kill, l'option -u permet de spécifier un utilisateur de base de données détenant les autorisations nécessaires sur la base de données pour mettre fin à une connexion. L'administrateur de la géodatabase ne disposant pas nécessairement des privilèges requis, cet utilisateur n'est pas toujours l'administrateur de la géodatabase.

Lorsqu'il est utilisé avec les opérations info ou status, il s'agit du nom d'utilisateur de tout utilisateur ayant accès à la géodatabase.

Exemples

Démarrer un service ArcSDE

Cet exemple permet de créer un service ArcSDE pour Informix.

sdeservice -o create -d INFORMIX -p sde.space -i esri_inf 
-u informix -P sde.inf

L'administrateur de la géodatabase peut utiliser l'opération start pour démarrer un service ArcSDE qui n'est pas en cours d'exécution. L'administrateur peut démarrer le service localement (exécuter la commande sur l'ordinateur exécutant le service) où à distance. Si vous démarrez un service localement sur un ordinateur Windows, vous pouvez le faire via le menu Services Windows plutôt qu'avec la commande sdemon et l'opération start. Si vous démarrez un service Windows à distance, vous devez le faire à partir d'un autre ordinateur Windows pouvant accéder à l'ordinateur hôte via le réseau, et la commande doit inclure l'ordinateur hôte et le nom du service. Par exemple :

sdemon -o start -s banana -i arcsde -p spatial.data

RemarqueRemarque :

Vous devez utiliser le nom du service (dans ce cas, arcsde), non le numéro du port. Si vous utilisez le numéro de port, le système génère une erreur.

Vous pouvez démarrer un service à partir de la ligne de commande sur un serveur Windows local. Si vous avez un seul service ArcSDE, vous n'avez pas besoin de spécifier le nom du service. Une invite vous demande de fournir le mot de passe de l'administrateur si vous ne le spécifiez pas.

sdemon -o start

Please enter ArcSDE DBA password:

ArcSDE instance esri_sde started Tues May 03 10:40:09 2011

Pour démarrer à distance un service sur un serveur UNIX ou Linux, vous pouvez procéder à partir d'un ordinateur Windows ou d'un ordinateur UNIX ou Linux. Vous devez toutefois au préalable configurer certains éléments. Reportez-vous à la rubrique Définition de variables pour l'utilisateur du système d'exploitation sde sous Linux ou UNIX.

Après avoir complété les étapes de configuration, vous pouvez démarrer le service à distance via l'opération start.

sdemon -o start -s bluebeard -i sde -p spatial.data

Voici un exemple de démarrage d'un service local sur un serveur UNIX :

sdemon -o start -i arcsde -p mineallmine

RemarqueRemarque :

L'opération start n'utilise pas le service spécifié dans la variable SDEINSTANCE, même s'il est défini.

Interrompre une géodatabase d’entreprise

L'utilisation de l'opération pause empêche le traitement de toute autre demande de connexion client. Aucune tâche cliente ne peut se connecter à la géodatabase directement ou via un service ArcSDE tant que la géodatabase n'est pas reprise.

sdemon –o pause –i sde_service

Please enter ArcSDE DBA password:

ArcSDE instance sde_service on tool is Paused, no further connections will be allowed.

L'opération pause modifie une valeur dans la table SERVER_CONFIG, qui empêche également les utilisateurs de se connecter directement à la géodatabase.

Reprendre une géodatabase interrompue

Utilisez l'opération resume pour permettre à nouveau le traitement des demandes de connexion client. Les tâches clientes peuvent se connecter à la géodatabase une fois cette commande exécutée.

sdemon -o resume -i sde_service

Please enter ArcSDE DBA password:

ArcSDE instance sde_service on tool is Resuming, new connections will now be allowed.

Arrêter un service ArcSDE

Utilisez l'opération shutdown pour arrêter immédiatement un service ArcSDE si aucune tâche de serveur ne s'exécute. Si des tâches de serveur s'exécutent, vous serez invité à les supprimer avant la fermeture. Si vous utilisez l'option -N au moment de la fermeture, toutes les tâches du serveur s'arrêtent et le système se ferme immédiatement. Notez que l'option -i n'est pas spécifiée dans cet exemple : le nom de service par défaut étant utilisé, il n'a pas besoin d'être indiqué explicitement.

sdemon -o shutdown

Please enter ArcSDE dba password:

ArcSDE instance esri_sde on juke is shutdown

Découvrir l'état d'un service ArcSDE

L'opération status indique si un service ArcSDE est en cours d'exécution, interrompu ou arrêté ainsi que le nombre de connexions en cours à la géodatabase. L'exemple ci-après indique l'état de l'instance esri_sde. Il affiche que le service est en cours d'exécution (non arrêté ni interrompu) et qu'il possède deux connexions.

sdemon -o status

ArcSDE instance esri_sde Status on juke at Mon May 02 08:09:10 2011
----------------------------------------------------------
Server Connection Mode:              Accepting Connections
Active Server Processes:             6

La géodatabase est interrompue lors d'une mise à niveau. Si vous vérifiez l'état à ce moment, vous obtenez le message suivant :

ArcSDE instance is currently paused for upgrade, no new connections allowed now

Obtenir des informations concernant une géodatabase d'entreprise

Pour afficher des informations concernant les utilisateurs, la configuration, les statistiques, les verrouillages ou les variables d'environnement d'une géodatabase d'entreprise, utilisez l'opération info. Cet exemple demande des informations sur la configuration du service ArcSDE (seuls des résultats partiels s'affichent). L'option -i n'étant pas spécifiée, le service est supposé être la valeur par défaut (5151).

sdemon -o info -I config

ArcSDE I/O Manager Configuration Parameters
-------------------------------------------
ArcSDE Version               10.1
ArcSDE Server Build          123456
Underlying DBMS              PostgreSQL
Max. Server Connections      52
Root Path                    C:\arcgis
Temp Path                    C:\Temp
...

Cet exemple renvoie des informations concernant les verrouillages dans une géodatabase :

sdemon -o info -I locks -i 99887 -u auser -p dpwd -D gis

ArcSDE Instance 99887 Lock Table Information on server1

No ArcSDE Layer Locks registered.

1 SDE Id:  12, State:  9, Lock Type: Shared State
1 ArcSDE State Lock(s) currently in use.

1 SDE Id:  12, table:  62, Lock Type: Shared Table
1 ArcSDE Table Lock(s) currently in use  

No ArcSDE Object Locks registered.

Dans cet exemple, les informations sont demandées pour les géodatabases ArcSDE et de structure utilisateur dans une base de données Oracle :

sdemon -o info -I instances

ArcSDE Instance sdeora's instances on blue at Wed May 04 11:45:33 2011
----------------------------------------------------------------
Instance    Type      Created                       Id
---------   ------    --------------------------    --------
SDE         MASTER    Wed Oct 27 09:35:02 2005      0
SDE2        PROJECT   Tues Apr 12 08:12:09 2011     1

AstuceAstuce:

Vous pouvez également utiliser SQL pour interroger la table système INSTANCES pour obtenir des informations sur les géodatabases de structure utilisateur dans Oracle.

L'exemple suivant montre quels utilisateurs sont connectés à la géodatabase. Dans les informations renvoyées, S-ID est l'identifiant SDE du serveur, S-PID l'identifiant du processus de niveau du système d'exploitation du serveur, User est le nom de l'utilisateur avec lequel la connexion a été établie, Conn est le type de connexion (AS = serveur d'application/service ArcSDE ou DC = connexion directe), ClientMachine:OS est le nom de l'ordinateur client de connexion et le système d'exploitation qu'il exécute et Started indique la date et l'heure de début de la connexion.

sdemon -o info -I users -i 8874 -s myserver

ArcSDE Instance 8874 Registered Server Tasks on myserver at Wed Jun 01 08:33:55 2011
---------------------------------------------------------------
S-ID   S-PID  User       Conn    ClientMachine:OS      Started
-----  ------ ---------- ------  --------------------  ----------
123    558899 JAKE       AS      dcli:Win32            Wed Jun 01 06:30:00 2011
124    558900 MOLLY      DC      flying:Win32:XDR      Wed Jun 01 07:00:00 2011

Les mêmes informations renvoyées par l'option users_long auraient l'aspect suivant :

sdemon -o info -I users_long -i 8874 -s myserver

ArcSDE Instance 8874 Registered Server Tasks on myserver at Wed Jun 01 08:34:26 2011
---------------------------------------------------------------
Server task ID: 123
Server task PID: 558899
Connection type: AppSrvr
User name: JAKE 
Client machine: dcli
Client OS: Win32  
XDR: no
Start time: Wed Jun 01 06:30:00 2011

Server task ID:  124  
Server task PID: 558900 
Connection type: Direct
User name: MOLLY
Client machine: flying
Ciient OS: Win32
XDR: yes
Start time: Wed Jun 01 07:00:00 2011

Supprimer des connexions d'une géodatabase

L'opération kill déconnecte toutes les connexions ou une connexion spécifiée au service ArcSDE. Elle permet aussi de mettre fin à toutes les connexions ou à une connexion directe à la géodatabase spécifiée.

L'opération kill doit être utilisée uniquement si un processus utilisateur s'est fermé de manière incorrecte ou s'est interrompu. Il se peut toutefois que vous soyez contraint de déconnecter tous les utilisateurs, par exemple, si certains restent connectés une fois que vous leur avez demandé de se déconnecter avant une mise à niveau.

Dans cet exemple toutes les connexions à la géodatabase sont déconnectées :

sdemon -o kill -t all -i 4664 -p zeus

Dans cette exemple, une connexion spécifique est terminée. Cette connexion utilise l'identifiant de processus (S-ID) 400.

sdemon -o kill -t 400 -i 50999 -p nolooking

9/12/2013