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 は別のサーバーにインストールされます。 | 64 ビット Oracle クライアントをすべての ArcGIS Server コンピューターにインストールします。 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 Client のインストール場所を設定します。 PATH 環境変数の設定手順については、Microsoft Windows のドキュメントをご参照ください。
PATH 変数を設定する前に ArcGIS Pro がコンピューター上で開かれた場合、ArcGIS Pro を再起動して新しい設定を有効にします。
データベースへの接続
データベース コネクションを追加するには、[データベース コネクション] ダイアログ ボックスまたは [データベース コネクションの作成 (Create Database Connection)] ジオプロセシング ツールを使用します。
[データベース接続] ダイアログ ボックスを使用して 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 のポート番号を待ち受けていない場合は、[ポート] フィールドにデフォルト以外のポート番号を入力します。
- [ホスト名] テキスト フィールドに次のいずれかを入力します。
- 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 テーブルに格納されます。 ジオデータベースに接続するときに入力できるユーザー名の最大文字数は、30 文字です。 これらの場合、ArcGIS はユーザー名を引用符で囲んでデータベースに渡します。 30 文字の制限には、それらの引用符も含まれます。
[データベース認証] を選択した場合、有効なデータベース ユーザー名とパスワードをそれぞれ [ユーザー名] と [パスワード] テキスト ボックスに指定する必要があります。 ユーザー名には、最大で 30 文字まで入力できます。
ログイン情報をコネクションの一部として保存しない場合は、[ユーザー名/パスワードの保存] をオフにします。これは、データベースのセキュリティを維持するのに役立ちます。 ただし、オフにした場合、接続時にユーザー名とパスワードを入力するよう求められます。
注意:
データベース認証を使用してデータベースへのアクセス権を ArcGIS Web サービスに付与する接続ファイルの場合やこの接続ファイルを経由してアクセスするデータを ArcGIS Pro で検索する場合は、[ユーザー名とパスワードを保存する] チェックボックスをオンにする必要があります。
- [オペレーティング システム認証] を選択した場合、ユーザー名とパスワードを入力する必要はありません。コネクションは、オペレーティング システムへのサイン インに使用されたログイン名とパスワードを使用して確立されます。 オペレーティング システムに使用するログイン情報がデータベースへのログインでは無効である場合、コネクションは確立されません。 Oracle Instant Client を使用している場合、オペレーティング システム認証を使用できません。
- [接続ファイル名] フィールドに接続ファイルの名前を入力します。
接続情報を指定すると、デフォルト名が作成されます。 デフォルトを使用するか、より説明的なファイル名を入力できます。
これは、[カタログ] ウィンドウとビューに表示される名前であり、ディスクに保存される .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 のみ)
データベース クライアント ファイルをインストールしたら、クライアント ファイルを参照するように、init_user_param.sh とともにインストールされた ArcGIS Server スクリプトを変更します。 このスクリプトにアクセスするには、<ArcGIS Server installation directory>/arcgis/server/usr ディレクトリを参照します。
init_user_param.sh サイト内のすべてのコンピューターで ArcGIS Server を更新する必要があります。
注意:
ユーザー プロファイルが 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_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
- 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 システム 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_<n> ですが、使用しているインストールのディレクトリ名は異なっている場合があります。
- Oracle システム ID (SID) を使用して接続する場合は、ORACLE_SID= を、使用しているデータベースの Oracle システム ID に設定します。 Easy Connect (簡易接続) 文字列を使用して接続する場合は、この行をコメント化します。
- TNS_ADMIN= を、Oracle クライアントの TNS 管理ファイルの場所に設定します。 簡易接続文字列を使用して接続する場合、この値を設定する必要はなく、この行をコメント化する必要があります。
- ORACLE_BASE=<Oracle_Installdir>
- Oracle Administrator、Developer、または Runtime クライアントの場合、以下の変数のコメントを解除し、実装に固有の情報を使用して値を設定します。
- スクリプトを保存して閉じます。
- init_user_param.sh ファイルの変更を有効にするには、ArcGIS Server を再起動する必要があります。
そのためには、stopserver.sh スクリプトを実行し、startserver.sh サイトの各コンピューターで ArcGIS Server スクリプトを実行します。
./stopserver.sh
./startserver.sh
データベース コネクションファイルの作成
上記のとおり、ArcGIS Pro の [データベース接続] ダイアログ ボックスを使用して、データベース接続ファイルを作成します。
または、ArcGIS Pro で [データベース接続の作成 (Create Database Connection)] ツールを実行するか、Python を使用して ArcGIS Server コンピューターから [データベース接続の作成 (Create Database Connection)] コマンドを実行して、データベースに接続するデータベース接続ファイル (.sde) を作成することができます。
以下は、ArcGIS Server で使用するデータベース接続ファイルの作成に固有の情報です。
- ユーザー情報を接続ファイルに保存する必要があります。
- オペレーティング システム認証を使用する場合は、ArcGIS Server アカウントにドメイン アカウントを使用し、そのドメイン アカウントを Oracle データベースに追加します。
- TNS 接続を使用する場合は、ArcGIS Server サイトのすべてのコンピューターと公開元の ArcGIS Pro クライアントの tnsnames.ora ファイルで、同じネット サービス名を使用していることを確認します。
権限の付与
データベースへの接続に使用するデータベース ユーザー、ロール、ArcGIS Server アカウント (オペレーティング システム認証を使用している場合) に対して、公開されるデータにアクセスするためのデータベースの権限を付与する必要があります。 付与する権限とその前提となる条件は次のとおりです。
権限 | 理由 |
---|---|
CREATE SESSION | データベースへの接続に必要。 |
CREATE TABLE | 選択セットが存在すると、ログ ファイル テーブルがジオデータベースに作成されます。 ユーザーにこの権限がない場合、sde ユーザーのスキーマにログ ファイル テーブルが作成されます。 |
公開されるデータセットに対する SELECT 権限 | 公開されるデータセットに対する SELECT 以上の権限をユーザーまたは ArcGIS アカウントに付与します。 |
編集可能なフィーチャ サービスに公開されるデータに対する INSERT、UPDATE、または DELETE 権限 | フィーチャ サービスを使用してデータを編集するには、データセットを編集できる十分な権限を付与する必要があります。 |
上記の最初の 2 つの権限はデータベース管理者が付与する必要があります。 データがジオデータベース内にある場合、データの所有者はデータセットに対する必要な権限を付与する必要があります。 データがデータベース内にある場合は、データの所有者が ArcGIS のデータセットに対する権限を付与するか、データベース管理者がデータベース ツールを使用して必要な権限を付与できます。
詳細については、「Oracle でのジオデータベースの権限」または「ArcGIS で Oracle データベースを使用するための権限」をご参照ください。
データベースの登録
ArcGIS Server サイトでデータにアクセスできるようにするには、作成したデータベース接続ファイルを使用して、ArcGIS Pro に登録済みデータ ストアを追加するか、ポータルにデータ ストア アイテムを追加します。