sdemon コマンド

sdemon コマンドは、主に ArcSDE サービスの管理と監視に使用できます。ただし、いくつかの操作では、ジオデータベースへのダイレクト コネクションも管理および監視できます。

start、shutdown、pause、および resume 操作は、通常 UNIX システムにインストールされた ArcSDE サービスを管理します。Microsoft Windows システムにインストールされた ArcSDE サービスは、通常 Windows の [サービス] ダイアログ ボックスを使用して管理します。

コマンド ラインにサーバ(-s)とサービス(-i)のオプション指定して、ArcSDE サービスをリモートで管理する場合もあります。UNIX オペレーティング システムの ArcSDE サービスは、Windows オペレーティング システムで実行された sdemon の操作でリモート管理できます。ただし、Windows オペレーティング システムの ArcSDE サービスは、別の Windows オペレーティング システムで実行された sdemon でのみリモート管理できます。UNIX システムにインストールされた ArcSDE サービスをリモートで管理するには、追加の手順が必要です。詳細については、「Linux または UNIX でのリモート ArcSDE サービスの開始」および「リモート ArcSDE サービスの停止」をご参照ください。

ジオデータベース管理者は、ジオデータベースへの ArcSDE サービス接続を切断(kill)するために必要な権限を持っています。ただし、ジオデータベースへのダイレクト コネクションを切断するには、ほとんどの場合、ジオデータベース管理者に追加の権限を付与する必要があります。必要な権限は、ジオデータベースの格納に使用している DBMS(データベース管理システム)によって異なります。必要な権限は以下のようになります。

データベース管理システム

必要な権限

DB2

ユーザには DBADM 権限が必要です。通常、sde ユーザにはこの権限があります。権限が取り消されている場合は、ジオデータベースへのダイレクト コネクションを切断するために権限をもう一度付与する必要があります。

z オペレーティング システム(z/OS)上で DB2 を使用している場合は、sdemon の kill 操作を使用できません。

Informix

ユーザは informix ユーザである必要があります。

sdemon コマンドに kill 操作を指定してジオデータベースへのダイレクト コネクションを切断する場合は、Informix IDS 11 以降のリリースが必要です。

Oracle

sde ユーザは、DBA ロールのメンバーであるか、ALTER SYSTEM および SELECT_CATALOG_ROLE が付与されている必要があります。

SQL Server

dbo スキーマ ジオデータベースを使用している場合、ジオデータベース管理者はすでに sysadmin のメンバーであり、データベース接続を切断することができます。sde スキーマ ジオデータベースを使用している場合、ユーザは(sysadmin ではなく)processadmin 固定サーバ ロールに追加されている必要があります。

注意注意:

PostgreSQL では、kill 操作を使用してジオデータベースへのダイレクト コネクションを切断することはできません。

構文

ArcSDE 管理コマンド ライン ツールは、以下の規則に従う UNIX 形式のコマンド構文と表記法を使用します。

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 -?

操作

操作はコマンドに関連する特定のタスクを実行します。操作は -o オプションで指定します。sdeservice コマンドでは、以下の操作を利用できます。

操作

説明

start

指定した ArcSDE サービスを開始します。

この操作はジオデータベース管理者だけが使用できます。

pause

ジオデータベースへの新しいクライアント接続(ArcSDE サービスとダイレクト コネクションの両方)を禁止します。

既存の接続は維持されます。

resume

ジオデータベースへの新しいクライアント接続を許可します。

shutdown

サーバ タスクが実行されていない場合は、ArcSDE サービスを直ちに停止します。

status

サービスのステータスと接続情報を報告します。

info

ユーザ、構成、統計情報、ロック、または環境変数に関する情報を表示します。

この操作はすべてのデータベース ユーザが実行できます。

kill

ジオデータベースへのすべての接続または指定した接続を終了します。

オプション

各操作には一連のオプションを指定します。オプションは特定の文字を使用して指定するため、任意の順序で渡すことができます。オプションでは大文字と小文字が区別されます。大文字と小文字を正しく使用してください。

操作によって必須のオプションと必須以外のオプションがあり、これらを角括弧([ ])で表します。sdeservice コマンドでは、以下のオプションを使用できます。

オプション

説明

-D

データベース名。Oracle ではサポートされません。

-h または -?

これらのオプションのいずれかを使用すると、コマンドの構文が表示されます。

コマンドを C シェルで実行している場合は、-h または -\? を使用します。

-H

ArcSDE ホームディレクトリ(SDEHOME)。SDEHOME 変数が設定されていないか、複数のサービスが使用中である場合のみ必要です。

-i

ArcSDE サービス名またはポート番号。デフォルト値の esri_sde が使用されていない場合に必要です。

-I

info 操作のみで使用します。この操作は、構成、ロック、統計情報、ユーザ、環境変数、またはユーザ スキーマ ジオデータベース(Oracle)について調査します。

  • config:現在の構成変数を表示します。
  • locks:ロックを保持しているプロセスに関する情報を表示します。
  • stats:各 ArcSDE クライアント/サーバ接続のプロセスの統計情報を表示します。ArcSDE サービスのみが対象で、SERVER_CONFIG パラメータの PROCSTATS が -1 以外の値に設定されている場合にのみ機能します。
  • users:ジオデータベースへのユーザ接続、接続のタイプ、および関連するプロセス ID のリストを表示します。各接続が 1 レコードで示されます。
  • users_long:ジオデータベースへのユーザ接続、接続のタイプ、および関連するプロセス ID のリストを表示します。接続ごとに、情報がプロパティのリスト形式で返されます。
  • vars: ArcSDE サービスの環境変数を表示します。
  • instances: Oracle データベースのすべてのインスタンスを返します。

-N

確認を行いません。操作は実行後直ちに開始されます。

-o

操作を指定します。

-p

start、pause、resume、shutdown、および kill 操作の場合、このオプションを使用してジオデータベース管理者のパスワードを指定します。status および info 操作の場合は、任意のデータベース ユーザのパスワードを指定します。

-q

すべてのタイトルと警告を非表示にします。

-s

ArcSDE サーバのホスト名(デフォルト: localhost)。

-t

kill 操作で使用し、以下のいずれかを指定します。

  • all: ジオデータベースへのすべての接続を強制的に削除します。
  • プロセス ID: オプションと一緒に指定したプロセス ID に一致する接続だけを削除します。

-u

データベース ユーザ名。

kill 操作で使用する場合は、-u オプションを使用して、接続を切断するためにデータベースで必要な権限を持つデータベース ユーザを指定します。ジオデータベース管理者は必要な権限を持っていない場合があるため、このユーザは必ずしもジオデータベース管理者であるとは限りません。

info または status 操作で使用する場合は、ジオデータベースにアクセスできる任意のユーザの名前を指定します。

ArcSDE サービスの開始

この例では、Informix 用の新しい ArcSDE サービスを作成します。

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

ジオデータベース管理者は start 操作を使用して、実行されていない ArcSDE サービスを開始できます。管理者はサービスをローカル(サービスを実行するコンピュータ上でコマンドを実行)またはリモートで開始できます。サービスを Windows コンピュータ上でローカルに開始する場合は、sdemon コマンドを start 操作を指定して実行する代わりに、Windows の [サービス] メニューを利用することもできます。Windows サービスをリモートで開始する場合は、ホスト コンピュータにネットワークを通じてアクセス可能な別の Windows コンピュータから実行する必要があります。また、コマンドにホスト コンピュータとサービスの名前を指定する必要があります。たとえば、次のように入力します。

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

注意注意:

ポート番号ではなく、サービス名(この場合は、arcsde)を使用する必要があります。ポート番号を使用すると、エラーが発生します。

ローカル Windows サーバのコマンド ラインからサービスを開始できます。ArcSDE サービスが 1 つだけの場合、サービス名を指定する必要はありません。管理者パスワードを指定しなかった場合は、パスワードの入力を求めるメッセージが表示されます。

sdemon -o start

Please enter ArcSDE DBA password:

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

UNIX または Linux サーバ上でサービスをリモートで開始するには、Windows コンピュータか別の UNIX または Linux コンピュータから操作を実行できます。ただし、操作を行う前にいくつかの構成を行う必要があります。「Linux または UNIX での sde OS ユーザの変数の設定」をご参照ください。

構成の手順が完了後、start 操作を使用してサービスをリモートで開始できます。

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

この例では、UNIX サーバでローカル サービスを開始します。

sdemon -o start -i arcsde -p mineallmine

注意注意:

start 操作は、SDEINSTANCE 変数で指定されたサービスを(定義されていても)使用しません。

エンタープライズ ジオデータベースの一時停止

pause 操作を使用すると、追加のクライアント接続リクエストの処理が禁止されます。ジオデータベースが再開されるまで、クライアント タスクはジオデータベースに直接または ArcSDE サービスを介して接続できません。

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.

pause 操作は、SERVER_CONFIG テーブルの値を変更します。これにより、ユーザがジオデータベースに直接接続することも防ぎます。

一時停止したジオデータベースの再開

resume 操作を使用すると、クライアントの接続リクエストが再び処理されるようになります。このコマンドが実行されると、クライアント タスクはジオデータベースに接続できるようになります。

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.

ArcSDE サービスの停止

shutdown 操作を使用すると、実行されているサーバ タスクがなければ、ArcSDE サービスは直ちに停止します。サーバ タスクが実行されている場合は、停止を行う前に、実行中のタスクを削除するかどうかを確認するメッセージが表示されます。停止の際に -N オプションを使用すると、すべてのサーバ タスクが停止し、システムは直ちに停止します。この例では -i オプションを指定していません。デフォルトのサービス名を使用しているため、明示的に指定する必要はありません。

sdemon -o shutdown

Please enter ArcSDE dba password:

ArcSDE instance esri_sde on juke is shutdown

ArcSDE サービスのステータスの確認

status 操作は、ArcSDE サービスの状態が実行、一時停止、または停止のいずれであるか、およびジオデータベースに対する現在の接続数を報告します。以下の例では、esri_sde インスタンスのステータスを報告しています。サービスが実行中であり(停止中または一時停止中ではない)、現在の接続数が 2 であることを示しています。

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

アップグレードを行う際は、ジオデータベースを一時停止します。このときにステータスを確認すると、以下のメッセージが返されます。

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

エンタープライズ ジオデータベースに関する情報の取得

エンタープライズ ジオデータベースのユーザ、構成、統計情報、ロック、または環境変数に関する情報を表示するには、info 操作を使用します。この例では、ArcSDE サービスの構成に関する情報をリクエストしています(結果の一部だけを示しています)。-i オプションが指定されていないため、サービスはデフォルト値(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
...

この例は、ジオデータベースのロックに関する情報を返しています。

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.

この例では、Oracle データベースの sde スキーマおよびユーザ スキーマのジオデータベースに関する情報がリクエストされています。

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

ヒントヒント:

別の方法として、SQL を使用して INSTANCES システム テーブルを検索し、Oracle のユーザ スキーマ ジオデータベースに関する情報を取得できます。

以下の例は、ジオデータベースに接続しているユーザを表示しています。返された情報の S-ID はサーバの SDE-ID、S-PID はサーバの OS レベルのプロセス ID、User は接続を行ったユーザの名前、Conn は接続のタイプ(AS = ArcSDE サービス/アプリケーション サーバ、DC = ダイレクト コネクション)、ClientMachine:OS は接続しているクライアント コンピュータの名前と実行されているオペレーティング システム、Started は接続が開始された日時を表します。

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

users_long オプションを使用すると、同じ情報が以下のように返されます。

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

ジオデータベースからの接続の削除

kill 操作では、ArcSDE サービスへのすべての接続または指定した接続を切断するか、ジオデータベースへのすべてまたは指定したダイレクト コネクションを切断できます。

kill 操作は、ユーザ プロセスが不正に終了した場合またはハングした場合にのみ使用します。ただし、アップグレードを行うためにユーザに切断を依頼した後、一部のユーザがログインしたまま残っている場合など、すべてのユーザを切断しなければならない場合もあります。

この例では、ジオデータベースへのすべての接続を切断しています。

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

この例では、特定の接続だけを切断しています。接続はプロセス ID(S-ID)として 400 を使用しています。

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

9/14/2013