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 形式のコマンド構文と表記法を使用します。
-
- <文字> または - <語句>: コマンドのオプションを指定します。たとえば、-o、-a、-interleave のように指定します。
文字には小文字と大文字の両方があります。したがって、大文字と小文字を区別して入力することが重要です。
- 大なり記号と小なり記号(< >)で囲まれたテキスト: 必須の引数を表します。適切な値で置き換えます。
たとえば、-u <DB ユーザ名> は、「-u mlogin」のように入力します。
- パイプ( | ): 相互に排他的な引数です。リストのいずれかの値を選択します。
- 角括弧([ ]): オプションのパラメータです。値を指定しない場合は、デフォルトの値が使用されます。
- 中括弧({ }): パイプ記号で区切られた選択のリストを囲みます。
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)について調査します。
|
-N | 確認を行いません。操作は実行後直ちに開始されます。 |
-o | 操作を指定します。 |
-p | start、pause、resume、shutdown、および kill 操作の場合、このオプションを使用してジオデータベース管理者のパスワードを指定します。status および info 操作の場合は、任意のデータベース ユーザのパスワードを指定します。 |
-q | すべてのタイトルと警告を非表示にします。 |
-s | ArcSDE サーバのホスト名(デフォルト: localhost)。 |
-t | kill 操作で使用し、以下のいずれかを指定します。
|
-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