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 TNS 名を入力するか、次のいずれかの Oracle 簡易接続文字列を入力します。
- Oracle サーバーの名前/Oracle のサービス名または ID
たとえば、Oracle が myserver にインストールされており、Oracle サービス名が myosvc である場合には、次のように入力します。
myserver/myosvc
- Oracle サーバーの名前: Oracle のポート番号/Oracle のサービス名または ID
この例では、Oracle は myserver にインストールされ、ポート 60000 で接続を待ち受けます。また、Oracle サービス名は myoservice です。
myserver:60000/myoservice
- Oracle サーバーの URL
最後の例で示された同じインスタンスの URL は、次のようになります。
//myserver:60000/myoservice
- Oracle サーバーの名前 (サーバー上の Oracle リスナーがデフォルト インスタンスを指すように構成されている場合に使用できます)
- Oracle サーバーの IP アドレス/Oracle のサービス名または ID
たとえば、サーバーのアドレスが 10:10:10:10 で、Oracle サービス名が orasvc の場合、「10:10:10:10/orasvc」と入力します。
IPV6 アドレスの場合、アドレスを角括弧で囲みます (例: [4000:ab5:0:0:f666:d191:77f5:e2bd]/orasvc)。
- Oracle サーバーの IP アドレス: Oracle のポート番号/Oracle のサービス名または ID
この例では、IP アドレスは 10:20:30:40、ポートは 59999、Oracle サービスは myomy1: 10:20:30:40:59999/myomy1 です。
同じポートおよびサービスの IPV6 アドレスは次のようになります。 [6543:ef4:0:1:f587:l249:12f9:a3cd]:59999/myomy110:20:30:40:59999/myomy1
必ず、簡易接続が許可されるように Oracle インスタンスを構成してください。 Oracle クライアントを完全にインストールするが、接続に Easy Connect (簡易接続) 構文を使用する場合、Easy Connect (簡易接続) の使用を許可するため、クライアント側で sqlnet.ora ファイルを構成し、Easy Connect (簡易接続) 構文を許可するように Oracle サーバーを構成してください。 また、Oracle インスタンスがデフォルトの Oracle ポート番号以外で接続を待ち受ける場合は、そのポート番号を含む接続構文を使用する必要がありますので注意してください。
- Oracle サーバーの名前/Oracle のサービス名または ID
- データベースに接続する際に使用する認証タイプとして、[データベース認証] または [オペレーティング システム認証] のいずれかを選択します。
- [オペレーティング システム認証] を選択した場合、ユーザー名とパスワードを入力する必要はありません。接続は、オペレーティング システムへのサイン インに使用されたログイン名とパスワードを使用して確立されます。 オペレーティング システムに使用するログイン情報がデータベースへのログインでは無効である場合、接続は確立されません。 Oracle インスタンス クライアントを使用している場合、オペレーティング システム認証を使用できないことに注意してください。
注意:
Oracle でオペレーティング システム認証を使用する場合は、オペレーティング システムのログインに os_authent_prefix 文字列 (デフォルトでは OPS$) の接頭辞が付加されて、USERNAME テーブルに格納されます。 ジオデータベースに接続するときに入力できるユーザー名の最大文字数は、30 文字です。 これらの場合、ArcGIS はユーザー名を引用符で囲んでデータベースに渡します。 30 文字の制限には、それらの引用符も含まれます。
[データベース認証] を選択した場合、有効なデータベース ユーザー名とパスワードをそれぞれ [ユーザー名] と [パスワード] テキスト ボックスに指定する必要があります。 ユーザー名には、最大で 30 文字まで入力できます。
ログイン情報を接続の一部として保存しない場合は、[ユーザー名/パスワードの保存] をオフにします。これは、データベースのセキュリティを維持するのに役立ちます。 ただし、オフにした場合、接続時にユーザー名とパスワードを入力するよう求められます。
注意:
データベース認証を使用してデータベースへのアクセス権を ArcGIS Web サービスに付与する接続ファイルの場合やこの接続ファイルを経由してアクセスするデータを ArcGIS Pro で検索する場合は、[ユーザー名とパスワードを保存する] チェックボックスをオンにする必要があります。
- [オペレーティング システム認証] を選択した場合、ユーザー名とパスワードを入力する必要はありません。接続は、オペレーティング システムへのサイン インに使用されたログイン名とパスワードを使用して確立されます。 オペレーティング システムに使用するログイン情報がデータベースへのログインでは無効である場合、接続は確立されません。 Oracle インスタンス クライアントを使用している場合、オペレーティング システム認証を使用できないことに注意してください。
- [OK] をクリックして、接続ファイルを作成します。
データベース接続が [カタログ] ウィンドウの [データベース] に表示され、接続ファイル (.sde) が ArcGIS Pro のプロジェクト ディレクトリに作成されます。
ファイルの名前を変更するには、[カタログ] ウィンドウで新しい名前を入力し、Enter キーを押します。
ArcGIS Server からの接続
64 ビット Oracle クライアントを ArcGIS Server サイトのすべてのコンピューターにインストールしたら、変数を設定し、データベース接続ファイルを作成し、権限を付与して、データベースを 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 データベースに追加します。
権限の付与
データベースへの接続に使用するデータベース ユーザー、ロール、ArcGIS Server アカウント (オペレーティング システム認証を使用している場合) に対して、公開されるデータにアクセスするためのデータベースの権限を付与する必要があります。 付与する権限とその前提となる条件は次のとおりです。
権限 | 理由 |
---|---|
CREATE SESSION | データベースへの接続に必要。 |
CREATE TABLE | 選択セットが存在すると、ログ ファイル テーブルがジオデータベースに作成されます。 ユーザーにこの権限がない場合、sde ユーザーのスキーマにログ ファイル テーブルが作成されます。 |
公開されるデータセットに対する SELECT 権限 | 公開されるデータセットに対する SELECT 以上の権限をユーザーまたは ArcGIS アカウントに付与します。 |
編集可能なフィーチャ サービスに公開されるデータに対する INSERT、UPDATE、または DELETE 権限 | フィーチャ サービスを使用してデータを編集するには、データセットを編集できる十分な権限を付与する必要があります。 |
上記の最初の 2 つの権限はデータベース管理者が付与する必要があります。 データがジオデータベース内にある場合、データの所有者はデータセットに対する必要な権限を付与する必要があります。 データがデータベース内にある場合は、データの所有者が ArcGIS のデータセットに対する権限を付与するか、データベース管理者がデータベース ツールを使用して必要な権限を付与できます。
スタンドアロンまたはフェデレートされた ArcGIS Server サイトの管理データベースとしてジオデータベースを登録する場合、接続するアカウントは、ジオデータベースのデータを作成する権限を持っている必要があります。
詳細については、「Oracle でのジオデータベースの権限」または「ArcGIS で Oracle データベースを使用するための権限」をご参照ください。
データベースの登録
ArcGIS Server サイトでデータにアクセスできるようにするには、作成したデータベース接続ファイルを使用して、ArcGIS Pro に登録済みデータ ストアを追加するか、ポータルにデータ ストア アイテムを追加します。