ArcSDE サービスの概要

このトピックでは、ArcSDE サービスの仕組みと ArcSDE サービスを使用してクライアントが接続する際の処理を説明します。

ArcSDE サービスの仕組み

ArcSDE サービス(ArcSDE アプリケーション サーバ)を使用してデータベースに接続する際、各 ArcSDE サービスは giomgr プロセスを通じて、特定の TCP/IP サービス名とポート番号でユーザ接続を待ち受けます。デフォルトのサービス名は「esri_sde」、ポート番号は 5151 です。

サービス名とポート番号を $SDEHOME/etc(Linux)または %SDEHOME%\etc(Windows)にある services.sde ファイルに追加する必要があります。このファイルの詳細については、「services.sde ファイル」をご参照ください。また、同じエントリをオペレーティング システムのサービス ファイルにも追加する必要があります。

Windows システムの場合、ArcSDE サービスは [Windows サービス] メニューから開始および停止できます。Linux および UNIX の場合、必ず sdemon コマンドを使用する必要があります。

注意注意:

サポートされているほとんどの DBMS(database management systems)では、サーバに複数のデータベースを配置できます。データベースごとに独自の ArcSDE サービスを使用する必要がありますが、各 ArcSDE サービスを使用してデータベースに複数のクライアントが接続できます。

ArcSDE サービスを使用したクライアント アプリケーションからの接続

ArcGIS クライアント アプリケーションが ArcSDE サービスを使用してエンタープライズ ジオデータベースに接続する際には、以下の処理が順番に実行されます。

  1. giomgr プロセスが TCP/IP ポートで接続を待ち受ける

    giomgr プロセスが接続リクエストを処理するには、事前に待ち受けを開始していなければなりません。ArcSDE サービスが開始され、待ち受けていることを確認します。UNIX および Linux の場合、sdemon –o status を使用して giomgr プロセスの状態を調べます。

    Windows では、ArcSDE アプリケーション サービスの状態を [サービス] メニューから確認します。Windows の [管理ツール] を開きます。[サービス] アイコンをダブルクリックして [サービス] メニューを起動します。ArcSDE サービスの [状態] は [開始] に設定されているはずです。Windows でも、[サービス] メニューのかわりに [コマンド プロンプト] から sdemon -o status コマンドを使用することができます。

  2. アプリケーションが ArcSDE サービスに接続リクエストを送信する

    giomgr プロセスは、接続リクエストを順番に処理します。使用している DBMS によっては、giomgr プロセスが接続リクエストを確認するのに 1 ~ 5 秒ほどかかる場合があります。多くのアプリケーションが同時に接続を確立しようとした場合、TCP/IP の標準タイムアウトである 75 秒を超えてしまうことがあります。

  3. giomgr プロセスがアプリケーション コンピュータのクロック タイムとホストのクロック タイムを比較する

    アプリケーション コンピュータのクロック タイムがサーバのクロック タイムよりも MAXTIMEDIFF 値の秒数以上経過していた場合、giomgr プロセスはそのアプリケーションの接続を許可しません。MAXTIMEDIFF は、SERVER_CONFIG テーブルで設定されます。詳細については、「SERVER_CONFIG システム テーブル」をご参照ください。

  4. giomgr プロセスがクライアント アプリケーションのバージョンと ArcSDE サービスのバージョンを比較する

    ArcGIS 10 クライアントが 10.1 アプリケーション サーバに接続する場合を除いて、クライアント アプリケーションのリリースがアプリケーション サーバのリリースより古い場合は接続することはできません。

  5. giomgr プロセスがアプリケーションを処理する gsrvr プロセスを開始する

    giomgr プロセスは、gsrvr プロセスを生成できなければなりません。現在のオペレーティング システムによって制限されているプロセスの最大数に達した場合、この処理は失敗し、gsrvr プロセスは生成されません。

  6. gsrvr プロセスが DBMS に接続する

    giomgr プロセスに接続リクエストを送信する際、クライアント アプリケーションは有効なユーザ名、パスワード、データベース名(Oracle DBMS の場合は不要)を提供する必要があります。無効な情報を指定すると、-9 SE_INVALID_USER エラーになります。

  7. giomgr プロセスがアプリケーションを gsrvr プロセスにアタッチする

    アプリケーションを gsrvr プロセスにアタッチした giomgr プロセスは、新しい接続の待ち受けと他の ArcSDE サービス管理タスクの実行に戻ります。アプリケーションと DBMS との通信はすべて、gsrvr プロセスを通じて処理されます。

関連トピック

9/14/2013