ジオデータベースからの ArcSDE サービス接続の削除
接続がハングして、レコードが 1 つ以上のジオデータベース リポジトリ テーブルで孤立する場合があります。この状態が発生した場合、強制的に接続を終了する必要があることがあります。これを行うには、sdemon 管理コマンドを使用します。
kill オプションを使用して sdemon コマンドを実行すると、ジオデータベースへの接続が削除され、PROCESS_INFORMATION およびロック テーブルのレコードがクリーンナップされます。
kill オプションを使用した sdemon コマンドの構文は次のようになります。
sdemon –o kill –t {all | <pid>} [–D <database_name>] [–s <server_name>] -i <service> -u <user_name> -p <password>
–t オプションでは、ジオデータベースからすべての接続を削除する(all)か、特定の接続のみを削除する(<pid>)かを指定します。通常は、ジオデータベース リポジトリに残された特定の接続のプロセス識別子(pid)を入力します。
Oracle 以外のデータベースに接続している場合は、-D オプションを使用してデータベースの名前を入力します(Oracle に接続している場合は、-D オプションを指定しないでください)。
リモート サーバ上のデータベースに接続している場合は、-s オプションを使用してそのデータベースが配置されているサーバの名前を指定します。
ArcSDE サービスのサービス ポート番号を指定します。
-u および -p オプションを使用して、ArcSDE 管理者ユーザのユーザ名とパスワードを指定します。
手順:
- ArcSDE 管理コマンドにアクセスできるコンピュータで、MS-DOS(Windows)またはシェル(UNIX または Linux)のコマンド プロンプトを開きます。
- SE_connection_get_instance_users 関数を使用するか、PROCESS_INFORMATION テーブルを照会するか、または info オプションと user あるいは users_long オプションを使用して sdemon コマンドを実行することで、接続しているユーザに関する情報を収集します。sdemon コマンドを使用して接続のリストを取得する方法については、「接続されているセッションの表示」をご参照ください。
- 取得した情報から、削除対象となる接続の SDE ID を特定します。sdemon –o info で users オプションを使用する場合は S–ID を調べ、users_long オプションを使用する場合は Server task ID を調べます。SE_connection_get_instance_users 関数を使用する場合は svr_id を調べます。PROCESS_INFORMATION テーブルを照会する場合は sde_id を調べます。
- kill オプションと、このトピックでこれまでに説明したオプションのうち適切なオプションを使用して、sdemon コマンドを入力します。-t オプション を使用して削除する接続の SDE ID の値を指定します。
ヒント:
sdemon コマンドの詳細については、『ArcSDE コマンド リファレンス』をご参照ください。
関連項目
3/6/2012