ArcGIS から Oracle への接続
ArcGIS クライアントから Oracle に接続するには、Oracle クライアントを ArcGIS クライアント コンピューターにインストールし、Oracle クライアントを参照する環境変数を設定して、ArcGIS からのデータベース コネクションを作成します。
Oracle データベースのデータを参照する ArcGIS Server の Web サービスを公開するには、ArcGIS Server のサイトにデータベース コネクション ファイルを登録します。
Oracle クライアント ソフトウェアのインストール
データベースに接続するすべての ArcGIS クライアント コンピューターに Oracle クライアント ソフトウェアをインストールする必要があります。 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 クライアントのホーム ディレクトリーに設定します。 |
ArcGIS Pro からの接続
Oracle クライアントを ArcGIS Pro コンピューターにインストールしたら、PATH 環境変数を Oracle クライアントの場所に設定して、データベース コネクションを作成します。
PATH 変数の設定
ArcGIS Pro コンピューター上の PATH 環境変数を、Oracle クライアントのインストール場所に設定します。 PATH 環境変数の設定手順については、Microsoft Windows のドキュメントをご参照ください。
PATH 変数を設定する前に ArcGIS Pro がコンピューター上で開かれた場合、ArcGIS Pro を再起動して新しい設定を有効にします。
データベースへの接続
データベース コネクションを追加するには、データベース コネクション ダイアログ ボックス、または データベース コネクションの作成 ジオプロセシング ツールを使用します。
データベース コネクション ダイアログ ボックスを使用して Oracle に接続する場合の手順を次に示します。
ArcGIS Pro で カタログ ウィンドウを開きます。
データベース を右クリックするか、フォルダー の下のフォルダーを右クリックして 新しいデータベース コネクション をクリックします。
データベース プラットフォーム ドロップダウン リストから Oracle を選択します。
接続タイプ ドロップダウン メニューから次のいずれかの接続オプションを選択します。
基本 - Oracle の簡易接続文字列を使用して接続するには、このオプションを選択します。
必ず、簡易接続が許可されるように Oracle インスタンスを構成してください。 Oracle クライアントを完全にインストールするが、接続に Easy Connect (簡易接続) 構文を使用する場合、Easy Connect (簡易接続) の使用を許可するため、クライアント側で
sqlnet.oraファイルを構成し、Easy Connect (簡易接続) 構文を許可するように Oracle サーバーを構成してください。TNS - 各 ArcGIS クライアント コンピューターで TNS 接続を使用するように Oracle クライアントを構成した場合は、このオプションを選択します。
ネット サービス名 フィールドに、
tnsnames.oraファイルで定義したネット サービス名を入力します。次の例では、
tnsnames.oraファイルでネット サービス名が myoratnsname と定義されています:
基本接続タイプを使用する場合、次の情報を入力します。
Oracle インスタンスがデフォルトの Oracle のポート番号を待機していない場合は、ポート フィールドにデフォルト以外のポート番号を入力します。
ホスト名 テキスト フィールドに次のいずれかを入力します。
Oracle サーバーの名前 (例: myserver)。
Oracle サーバーの IP アドレス (例: 10:10:10:10)。 IPV6 アドレスの場合、アドレスを角括弧で囲みます (例: [4000:ab5:0:0:f666:d191:77f5:e2bd])。
Oracle サーバー名を含む URL (例: //myserver)。
データベース フィールドに Oracle サービス名または ID を入力します。
次の例では、Oracle サーバー名は myserver、Oracle サービス名は myoracledb で、通信にポート 60000 を使用します。

データベースに接続する際に使用する認証タイプとして、データベース認証 または オペレーティング システム認証 のいずれかを選択します。
オペレーティング システム認証 を選択した場合、ユーザー名とパスワードを入力する必要はありません。コネクションは、オペレーティング システムへのサイン インに使用されたログイン名とパスワードを使用して確立されます。 オペレーティング システムに使用するログイン情報がデータベースへのログインでは無効である場合、コネクションは確立されません。 Oracle Instant Client を使用している場合、オペレーティング システム認証を使用できません。
注意:
Oracle でオペレーティング システム認証を使用する場合は、オペレーティング システムのログインに os_authent_prefix 文字列 (デフォルトでは OPS$) の接頭辞が付加されて、USERNAME テーブルに格納されます。 これらの場合、ArcGIS はユーザー名を引用符で囲んでデータベースに渡します。
データベース認証 を選択した場合、有効なデータベース ユーザー名とパスワードをそれぞれ ユーザー名 と パスワード テキスト ボックスに指定する必要があります。
ログイン情報をコネクションの一部として保存しない場合は、ユーザー名/パスワードの保存 をオフにします。これは、データベースのセキュリティーを維持するのに役立ちます。 ただし、オフにした場合、接続時にユーザー名とパスワードを入力するよう求められます。
注意:
データベース認証を使用してデータベースへのアクセス権を ArcGIS Web サービスに付与する接続ファイルの場合や、この接続ファイルを経由してアクセスするデータを ArcGIS Pro で検索する場合は、ユーザー名とパスワードを保存する チェックボックスをオンにする必要があります。
コネクション ファイル名 フィールドに接続ファイルの名前を入力します。
接続プロパティの値に基づいてデフォルトの名前が作成されます。 デフォルトを使用することも、より説明的なファイル名を入力することもできます。
これは、カタログ ウィンドウとビューに表示される名前であり、ディスクに保存される
.sdeファイルの名前です。検証 をクリックし、接続情報が有効で、データベースにアクセスできることを確認します。
データベースにジオデータベースが含まれ、接続が有効である場合は、ジオデータベース プロパティ タブがアクティブになります。 必要に応じて、ジオデータベースのコネクション プロパティを変更して、デフォルト バージョン以外のトラディショナル バージョンに接続したり、接続をブランチ バージョン コネクションとして構成したり、履歴モーメントに接続したりできます。
OK をクリックして、コネクション ファイルを作成します。
データベース コネクションが カタログ ウィンドウの データベース に表示され、コネクション ファイル (.sde) が ArcGIS Pro のプロジェクト ディレクトリーに作成されます。
ArcGIS Server からの接続
64 ビット Oracle クライアントを ArcGIS Server サイトのすべてのコンピューターにインストールしたら、変数を設定して、データベース コネクション ファイルを作成し、権限を付与して、データベースを ArcGIS Server サイトに登録します。
PATH 環境変数の設定 (Windows のみ)
各 ArcGIS Server の Windows サーバーの PATH 環境変数を、Oracle クライアントのインストール場所に設定します。 PATH 環境変数の設定手順については、Microsoft Windows のドキュメントをご参照ください。
Oracle クライアントを構成して PATH 変数を設定する前に ArcGIS Server が稼働していた場合、ArcGIS Server を再起動する必要があります。 Windows サービス のインターフェイスから ArcGIS Server を再起動できます。
LD_LIBRARY_PATH 環境変数の設定 (Linux および 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 スクリプトの変更 (Linux のみ)
データベース クライアント ファイルをインストールしたら、クライアント ファイルを参照するように、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 に問題が発生する可能性があります。 接続の問題を軽減するには、ユーザー プロファイルから参照情報を削除し、以下の手順に従ってデータベース クライアント ライブラリーを再参照します。
各コンピューターの ArcGIS Server インストールの所有者が、データベース クライアント ライブラリーに対する読み取りおよび実行以上の権限を持っていることを確認します。
テキスト エディターで
init_user_param.shスクリプトを開きます。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_PATHOracle Database Instant Client ライブラリーを使用している場合は、次の例のように、コメントを外して
$LD_LIBRARY_PATHを設定するだけで済みます:# # For connection with Oracle Instant Client # export LD_LIBRARY_PATH=<Location_to_instantclient_11_2>:$LD_LIBRARY_PATHexport 変数の値を設定します。
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 システム ID (SID) を使用して接続する場合は、
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 システム ID (SID) を使用して接続する場合は、
ORACLE_SID=を、使用しているデータベースの Oracle システム ID に設定します。 Easy Connect (簡易接続) 文字列を使用して接続する場合は、この行をコメント化します。TNS_ADMIN=を、Oracle クライアントの TNS 管理ファイルの場所に設定します。 簡易接続文字列を使用して接続する場合、この値を設定する必要はなく、この行をコメント化する必要があります。
スクリプトを保存して閉じます。
init_user_param.shファイルの変更を有効にするには、ArcGIS Server を再起動する必要があります。そのためには、ArcGIS Server サイトの各コンピューターで
stopserver.shスクリプトを実行してからstartserver.shスクリプトを実行します。./stopserver.sh./startserver.sh
データベース コネクション ファイルの作成
上記のように、ArcGIS Pro の データベース コネクション ダイアログ ボックスを使用して、データベース コネクション ファイルを作成します。
または、ArcGIS Pro で データベース コネクションの作成 ツールを実行するか、Python を使用して ArcGIS Server コンピューターから データベース コネクションの作成 コマンドを実行して、データベースに接続するデータベース コネクション ファイル (.sde) を作成できます。
以下は、ArcGIS Server で使用するデータベース コネクション ファイルの作成に固有の情報です:
ユーザー情報を接続ファイルに保存する必要があります。
オペレーティング システム認証を使用する場合は、ArcGIS Server アカウント にドメイン アカウントを使用し、そのドメイン アカウントを Oracle データベースに追加します。
TNS 接続を使用する場合は、ArcGIS Server サイトのすべてのコンピューター、および公開元の ArcGIS Pro クライアントの
tnsnames.oraファイルで、同じネット サービス名を使用していることを確認します。
権限の付与
データベースへの接続に使用するデータベース ユーザー、ロール、または ArcGIS Server アカウント (オペレーティング システム認証を使用している場合) に対して、公開されるデータにアクセスするためのデータベースの権限を付与する必要があります。 付与する権限とその前提となる条件は次のとおりです。
|
権限 |
理由 |
|---|---|
|
|
データベースへの接続に必要。 |
|
|
選択セットが存在すると、ログ ファイル テーブルがジオデータベースに作成されます。 ユーザーにこの権限がない場合、sde ユーザーのスキーマにログ ファイル テーブルが作成されます。 |
|
公開されるデータセットに対する |
公開される データセットに対する |
|
編集可能なフィーチャ サービスに公開されるデータに対する |
フィーチャ サービスを使用してデータを編集するには、データセットを編集できる十分な権限を付与する必要があります。 |
上記の最初の 2 つの権限はデータベース管理者が付与する必要があります。 データがジオデータベース内にある場合、データの所有者はデータセットに対する必要な権限を付与する必要があります。 データがデータベース内にある場合は、データの所有者が ArcGIS のデータセットに対する権限を付与するか、データベース管理者がデータベース ツールを使用して必要な権限を付与できます。
詳細については、「Oracle でのジオデータベースの権限」または「ArcGIS で Oracle データベースを使用するための権限」をご参照ください。
ArcGIS Server サイトへのデータベースの登録
データベース内のデータから Web レイヤーを公開するには、ArcGIS Server サイトからデータへのアクセス権が必要です。 作成したデータベース コネクション ファイルを使用して、ArcGIS Pro に登録済みデータ ストアを追加するか、アクティブなポータルにデータ ストア アイテムを追加します。