Skip to main content

ArcGIS から Oracle への接続

Oracle データベースのデータを参照する ArcGIS Server の Web サービスを公開するには、次の手順を実行します:

Oracle クライアント ソフトウェアのインストール

Oracle クライアント ソフトウェアは、公開する ArcGIS Server サイト内のすべてのコンピューターにインストールする必要があります。 ArcGIS クライアントが動作するコンピューターにソフトウェアをインストールする権限がない場合は、IT 部門に Oracle クライアントをインストールして構成してもらう必要があります。

接続先のデータベースのリリースと互換性がある Oracle クライアント アプリケーションのリリースをインストールします。

Oracle のドキュメントに記載されている手順に従って、Oracle から Oracle Instant、Runtime、または Administrator Client を入手し、クライアント コンピューターにインストールできます。

次の表の情報を使用して、使用する適切な Oracle クライアント構成を判断します。

インストールの組み合わせ

使用する構成

ArcGIS Server (単一コンピューターのサイト) と Oracle は同じサーバー上にインストールされており、ArcGIS Pro は別のコンピューターにインストールされています。

すべての ArcGIS Pro コンピューターに 64 ビット Oracle クライアントをインストールし、PATH 変数を Oracle クライアントのホーム ディレクトリーに設定します。

接続するファイルは Oracle データベース管理システムとともにインストールされているため、Oracle クライアントをサーバーにインストールする必要はありません。 LD_LIBRARY_PATH (Linux) または PATH (Microsoft Windows) のシステム変数が Oracle のホーム ディレクトリーに設定されていることを確認します。

Oracle クライアントに tnsname を設定する場合、ArcGIS Server および ArcGIS Pro のコンピューターでも同じ名前を使用する必要があります。

ArcGIS Server は、DBMS とは別の 1 台以上のコンピューターにインストールされます。 ArcGIS Pro は、Oracle と ArcGIS Server のどちらとも別のコンピューターにインストールされます。

すべての ArcGIS Pro コンピューターに 64 ビット Oracle クライアントをインストールし、PATH 変数を Oracle クライアントのホーム ディレクトリーに設定します。

すべての ArcGIS Server コンピューターに 64 ビット Oracle クライアントをインストールし、PATH (Windows) または LD_LIBRARY_PATH (Linux) システム変数が Oracle クライアントのホーム ディレクトリーに設定されていることを確認します。

Oracle クライアントに tnsname を設定する場合、ArcGIS Server および ArcGIS Pro のコンピューターでも同じ名前を使用する必要があります。

ArcGIS Server と ArcGIS Pro は同じサーバー上にインストールされてあり、Oracle は別のサーバーにインストールされています。

すべての ArcGIS Server コンピューターに 64 ビットの Oracle クライアントをインストールします。 ArcGIS Server と ArcGIS Pro の両方がこのクライアントを使用します。

PATH システム変数を、Oracle クライアントのホーム ディレクトリーに設定します。

ArcGIS Server、ArcGIS Pro、および Oracle は 1 台のコンピューターにインストールされます。

ArcGIS Server と ArcGIS Pro は、Oracle データベース管理システムにインストールされた 64 ビット クライアント ファイルを使用して接続します。

PATH 変数を、Oracle クライアントのホーム ディレクトリーに設定します。

ArcGIS Server サイトに追加のサーバーが含まれる場合は、サイト内の各サーバーに 64 ビット Oracle クライアントをインストールし、PATH 変数を Oracle クライアントのホーム ディレクトリーに設定します。

LD_LIBRARY_PATH 環境変数の設定 (Oracle Administrator、Developer、または Runtime クライアントのみ)

Oracle Administrator、Developer、または Runtime クライアントをインストールした場合、LD_LIBRARY_PATH システム変数を Oracle クライアントのホーム ディレクトリーに設定します。

Oracle Instant クライアントをインストールした場合、init_user_param.sh スクリプトで LD_LIBRARY_PATH 変数を設定します。

init_user_param.sh スクリプトの変更

データベース クライアント ファイルをインストールしたら、クライアント ファイルを参照するように、ArcGIS Server とともにインストールされた init_user_param.sh スクリプトを変更します。 このスクリプトにアクセスするには、<ArcGIS Server installation directory>/arcgis/server/usr ディレクトリーを参照します。

ArcGIS Server サイト内のすべてのコンピューターで init_user_param.sh を更新する必要があります。

注意:

ユーザー プロファイルが Oracle クライアントを参照していて、ユーザー プロファイルと init_user_param.sh とでクライアント情報が異なる場合は、データベースに接続しようとしたとき ArcGIS Server に問題が発生する可能性があります。 接続の問題を軽減するには、ユーザー プロファイルから参照情報を削除し、以下の手順に従ってデータベース クライアント ライブラリーを再参照します。

  1. 各コンピューターの ArcGIS Server インストールの所有者が、データベース クライアント ライブラリーに対する読み取りおよび実行以上の権限を持っていることを確認します。

  2. テキスト エディターで init_user_param.sh スクリプトを開きます。

  3. export で始まる各行からコメント記号 (#) を削除します。

    Oracle Administrator、Developer、または Runtime クライアントがインストールされている場合、export で始まるすべての Oracle の行からコメント記号を削除します。

    #
    # For connection with Oracle Runtime or Administrator Client
    #
    export ORACLE_BASE=<Oracle_Installdir>/app
    export ORACLE_HOME=$ORACLE_BASE/<Oracle_release>/product/<Oracle_version>/<client_version>
    export ORACLE_SID=<set when applicable>
    export TNS_ADMIN=<set when applicable. e.g.$ORACLE_HOME/network/admin>
    export PATH=$ORACLE_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
    

    Oracle Database Instant Client ライブラリーを使用している場合は、次の例のように、コメントを外して $LD_LIBRARY_PATH を設定するだけで済みます:

    #
    # For connection with Oracle Instant Client
    #
    export LD_LIBRARY_PATH=<Location_to_instantclient_11_2>:$LD_LIBRARY_PATH
    
  4. export 変数の値を設定します。

    • Oracle Administrator、Developer、または Runtime クライアントの場合、次の変数のコメントを解除し、実装に固有の情報を使用して値を設定します:

      • ORACLE_BASE=<Oracle_Installdir>

      <Oracle_Installdir> は、Oracle クライアントがインストールされている最上位ディレクトリーのパスと名前です。

      • ORACLE_HOME=$ORACLE_BASE/<Oracle_Release>/product/<Oracle_Version>/client_1

        これは、Oracle クライアント ライブラリー ファイルのパスです。 ORACLE_HOME を、これらが存在するディレクトリーに設定します。 デフォルトでは、このディレクトリー名は client_1 ですが、使用しているインストールのディレクトリー名は異なっている場合があります。

      • Oracle SID (システム ID) を使用して接続する場合は、ORACLE_SID= を、使用しているデータベースの Oracle システム ID に設定します。 Easy Connect (簡易接続) 文字列を使用して接続する場合は、この行をコメント化します。

      • TNS_ADMIN= を、Oracle クライアントの TNS 管理ファイルの場所に設定します。 簡易接続文字列を使用して接続する場合、この値を設定する必要はなく、この行をコメント化する必要があります。

    • Oracle Instant クライアントの場合、LD_LIBRARY_PATH 変数のみをコメント解除して値を設定し、<Location_to_instantclient> を、Oracle Instant クライアント ファイルが存在する場所のパスとディレクトリー名に置き換えます。

    • ArcGIS Server と Oracle が同じサーバー上にインストールされている場合は、次の変数のコメントを解除して値を設定します:

      • ORACLE_BASE=<Oracle_Installdir>

      <Oracle_Installdir> は、Oracle がインストールされている最上位ディレクトリーのパスと名前です。

      • ORACLE_HOME=$ORACLE_BASE/<Oracle_Release>/product/<Oracle_Version>/client_1

        これは、Oracle ライブラリー ファイルのパスです。 ORACLE_HOME を、これらが存在するディレクトリーに設定します。 デフォルトでは、ディレクトリー名は db_ ですが、使用しているインストールのディレクトリー名は異なっている場合があります。

      • Oracle SID (システム ID) を使用して接続する場合は、ORACLE_SID= を、使用しているデータベースの Oracle システム ID に設定します。 Easy Connect (簡易接続) 文字列を使用して接続する場合は、この行をコメント化します。

      • TNS_ADMIN= を、Oracle クライアントの TNS 管理ファイルの場所に設定します。 簡易接続文字列を使用して接続する場合、この値を設定する必要はなく、この行をコメント化する必要があります。

  5. スクリプトを保存して閉じます。

  6. init_user_param.sh ファイルの変更を有効にするには、ArcGIS Server を再起動する必要があります。

    そのためには、ArcGIS Server サイトの各コンピューターで stopserver.sh スクリプトを実行してから startserver.sh スクリプトを実行します。

    ./stopserver.sh

    ./startserver.sh

PATH 環境変数の設定 (Windows のみ)

各 ArcGIS Server の Windows サーバーの PATH 環境変数を、Oracle クライアントのインストール場所に設定します。 PATH 環境変数の設定手順については、Microsoft Windows のドキュメントをご参照ください。

Oracle クライアントを構成して PATH 変数を設定する前に ArcGIS Server が稼働していた場合、ArcGIS Server を再起動する必要があります。 Windows サービス のインターフェイスから ArcGIS Server を再起動できます。

データベース コネクションの作成

データベース コネクション (.sde ファイル) がデータベースへの接続を認証する必要があります。

データベースへの接続を必要とする ArcGIS Server サイト内のコンピューターから、ArcPy の CreateDatabaseConnection 関数を呼び出すことができます。 この関数の実行については、ArcGIS Pro ヘルプの「データベース コネクションの作成」をご参照ください。

以下は、ArcGIS Server で使用するデータベース コネクション ファイルの作成に固有の情報です:

  • ユーザー情報を接続ファイルに保存する必要があります。

  • オペレーティング システム認証を使用する場合は、ArcGIS Server アカウントにドメイン アカウントを使用し、そのドメイン アカウントを Oracle データベースに追加します。

  • TNS 接続を使用する場合は、ArcGIS Server サイトのすべてのコンピューター、および公開元の ArcGIS Pro クライアントの tnsnames.ora ファイルで、同じネット サービス名を使用していることを確認します。

権限の付与

データベースへの接続に使用するデータベース ユーザー、ロール、または ArcGIS Server アカウント (オペレーティング システム認証を使用している場合) に対して、公開されるデータにアクセスするためのデータベースの権限を付与する必要があります。 付与する権限とその前提となる条件は次のとおりです。

権限

理由

CREATE SESSION

データベースへの接続に必要。

CREATE TABLE

選択セットが存在すると、ログ ファイル テーブルがジオデータベースに作成されます。 ユーザーにこの権限がない場合、sde ユーザーのスキーマにログ ファイル テーブルが作成されます。

公開されるデータセットに対する SELECT

公開されるデータセットに対する SELECT 以上の権限を、ユーザーまたは ArcGIS アカウントに付与します。

編集可能なフィーチャ サービスに公開されるデータに対する INSERTUPDATE、または DELETE 権限

フィーチャ サービスを使用してデータを編集するには、データセットを編集できる十分な権限を付与する必要があります

上記の最初の 2 つの権限はデータベース管理者が付与する必要があります。 データがジオデータベース内にある場合、データの所有者はデータセットに対する必要な権限を付与する必要があります。 データがデータベース内にある場合は、データの所有者が ArcGIS のデータセットに対する権限を付与するか、データベース管理者がデータベース ツールを使用して必要な権限を付与できます。

詳細については、「Oracle でのジオデータベースの権限」または「ArcGIS で Oracle データベースを使用するための権限」をご参照ください。

接続ファイルの登録

ArcGIS Server サイトでデータにアクセスできるようにするには、作成したデータベース コネクション ファイルを使用して、ArcGIS Pro に登録済みデータ ストアを追加するか、ポータルにデータ ストア アイテムを追加します