ArcGIS クライアントから Oracle に接続できます。この接続を実行するには、Oracle クライアントを ArcGIS クライアント コンピューターにインストールし、Oracle クライアントを参照する環境変数を設定し、ArcGIS からデータベースに接続します。
クライアントの構成が終了したら、接続ファイルを作成します。ArcGIS Server で公開されたサービスで Oracle データを使用するには、データベースまたはジオデータベースを GIS サーバーに登録します。
ArcMap からの接続
ArcMap から Oracle のデータベースまたはジオデータベースに接続するには、Oracle クライアントを ArcMap コンピューターにインストールし、PATH 環境変数を Oracle クライアントの場所に設定し、[カタログ] ツリーに接続ファイルを作成します。
Oracle クライアントのインストール
クライアント コンピューターから Oracle データベースへの接続を作成するためには、クライアント コンピューターに Oracle クライアント アプリケーションをインストールする必要があります。インストールする Oracle クライアント アプリケーションのリリースが、接続先のデータベースのリリースと互換性があることを確認してください。
Oracle のドキュメントに記載されている手順に従って、Oracle から Oracle Instant、Runtime、または Administrator Client を入手し、クライアント コンピューターにインストールできます。
PATH 変数の設定
ArcMap コンピューター上の PATH 環境変数に、Oracle Client のインストール場所を設定します。PATH 環境変数の設定手順については、Microsoft Windows のドキュメントをご参照ください。
PATH 変数を設定する前に ArcMap がコンピューター上で開かれた場合、ArcMap を再起動して新しい設定を有効にします。
データベースへの接続
Oracle のデータベースまたはジオデータベースに接続するには、ArcMap または ArcCatalog の [カタログ] ツリーの [Database Connections] ノードでデータベース接続を追加します。
- ArcMap または ArcCatalog の [カタログ] ツリーの [データベース接続] を展開して、[データベース接続の追加] をダブルクリックします。
- [データベース プラットフォーム] ドロップダウン リストから [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 のようになります。
必ず、Easy Connect (簡易接続) が許可されるように Oracle インスタンスを構成してください。Oracle クライアントを完全にインストールするが、接続にEasy Connect (簡易接続) 構文を使用する場合、Easy Connect (簡易接続) の使用を許可するため、クライアント側で sqlnet.ora ファイルを構成し、Easy Connect (簡易接続) 構文を許可するように Oracle サーバーを構成してください。また、Oracle インスタンスがデフォルトの Oracle ポート番号以外で接続を待ち受ける場合は、そのポート番号を含む接続構文を使用する必要がありますので注意してください。
- Oracle サーバーの名前/Oracle のサービス名または ID
- データベースに接続する際に使用する認証タイプを、[データベース認証] または [オペレーティング システム認証] から選択します。
- [オペレーティング システム認証] を選択した場合、ユーザー名とパスワードを入力する必要はありません。接続は、オペレーティング システムへのログインに使用されたログイン名とパスワードを使用して確立されます。オペレーティング システムに使用するログイン情報がデータベースへのログインでは無効である場合、接続は確立されません。Oracle インスタンス クライアントを使用している場合、オペレーティング システム認証を使用できないことに注意してください。
[データベース認証] を選択した場合、有効なデータベース ユーザー名とパスワードをそれぞれ [ユーザー名] と [パスワード] テキスト ボックスに指定する必要があります。ユーザー名には、最大で 30 文字まで入力できます。
ログイン情報を接続の一部として保存しない場合は、[ユーザー名とパスワードを保存する] をオフにします。これは、データベースのセキュリティを維持するのに役立ちます。ただし、オフにした場合、接続時にユーザー名とパスワードを入力するよう求められます。また、データベースまたはジオデータベースへのアクセスを ArcGIS サービスに提供する接続ファイルの場合、あるいは、カタログ検索を使用してこの接続ファイル経由でアクセスするデータを検索する場合は、[ユーザー名とパスワードを保存する] をオンにする必要があります。
以下の例では、データベース認証を使用して oracl/dbdata の Oracle インスタンスへの接続を確立しています。
- [OK] をクリックして接続します。
ファイルが \\<computer_name>\Users\<user_name>\AppData\Roaming\ESRI\Desktop<release#>\ArcCatalog に作成されます。接続で問題が発生した場合は、%TEMP% ディレクトリの sdedc_Oracle.log ファイルで、拡張エラー メッセージを確認してください。
接続を別の場所に移動することができます。ただし、接続する必要のあるユーザーおよびアプリケーションが、接続ファイルを置くディレクトリに対する読み取り権限を持っていることを確認してください。
この接続からのデータを、ジオプロセシングやジオコード サービスなどのサービスのソースとして使用する場合は、ネットワーク上の共有の場所に接続ファイルを置くことが必要な場合があります。接続ファイルの共有の詳細については、「リソースをサービスとして公開する準備」をご参照ください。
ユーザースキーマ ジオデータベースまたは異なるバージョンへの接続
Oralce のジオデータベースに最初に接続した時点では、デフォルト バージョンのマスター sde ジオデータベースに接続することになります。ユーザースキーマ ジオデータベース、デフォルト以外のトランザクション バージョン、または履歴バージョンに接続する場合は、[ジオデータベース接続プロパティ] ダイアログ ボックスを使用します。なお、ユーザースキーマ ジオデータベースは、トランザクション バージョンとしてこのダイアログ ボックスにリスト表示されます。詳細については、「特定のジオデータベース バージョンへの接続」をご参照ください。
ArcGIS for Server からの接続
Oracle と ArcGIS for Server が別々のサーバー上で実行されている場合、64 ビット Oracle クライアントを ArcGIS for Server コンピューターにインストールします。
ArcGIS for Server が Linux サーバーにインストールされている場合、Oracle クライアントおよびインスタンスに関する情報を含むように init_user_param.sh スクリプトを編集して、ArcGIS for Server を再起動します。
ArcGIS Server で公開するサービスが、Oracle に格納されたデータベースまたはジオデータベースのデータを使用する場合、データベースを GIS サーバーに登録します。
Oracle クライアントのインストール
ArcGIS for Server と Oracle が異なるサーバーにインストールされている場合、Oracle クライアント アプリケーションを ArcGIS for Server コンピューターにインストールする必要があります。インストールする Oracle クライアント アプリケーションのリリースが、接続先のデータベースのリリースと互換性があることを確認してください。
Oracle のドキュメントに記載されている手順に従って、Oracle から Oracle Instant、Runtime、または Administrator Client を入手し、クライアント コンピューターにインストールできます。
PATH 環境変数の設定 (Windows のみ)
ArcGIS for Server Windows サーバー上の PATH 環境変数に、Oracle Client のインストール場所を設定します。PATH 環境変数の設定手順については、Microsoft Windows のドキュメントをご参照ください。
Oracle クライアントを構成して PATH 変数を設定する前に ArcGIS for Server を実行していた場合、ArcGIS for Server を再起動する必要があります。Windows の [サービス] インターフェイスから ArcGIS Server を再起動できます。
init_user_param.sh スクリプトの変更 (Linux のみ)
データベース クライアント ファイルをインストールしたら、それらを参照するように init_user_param.sh スクリプトを変更します。このスクリプトにアクセスするには、<ArcGIS Server installation directory>/arcgis/server/usr ディレクトリを参照します。
- ArcGIS Server のインストール所有者がデータベース クライアント ライブラリに対する読み取りおよび実行以上の権限を持っていることを確認します。
- テキスト エディターで init_user_param.sh スクリプトを開きます。
- 「export」で始まる各行からコメント記号 (#) を削除します。
Oracle Administrator、Developer、または Runtime クライアントがインストールされている場合、export で始まるすべての Oracle の行からコメント記号を削除します。
# # To connect to Oracle # export ORACLE_BASE=<Oracle_Installdir>/app export ORACLE_HOME=$ORACLE_BASE/<Oracle_Release>/product/<Oracle_Version>/client_1 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 を設定するだけで済みます。
# # To connect with Oracle Instant Client # export LD_LIBRARY_PATH=<Location_to_instantclient>:$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 for 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 Administrator、Developer、または Runtime クライアントの場合、以下の変数のコメントを解除し、実装に固有の情報を使用して値を設定します。
- スクリプトを保存して閉じます。
- startserver.sh スクリプトを実行して、ArcGIS Server の配置に含まれる GIS サーバーを再起動します。
./startserver.sh
データベースの登録
Web サービスで、Oracle データベース内または Oracle に格納されたジオデータベース内のデータを使用する場合、データベースを ArcGIS Server に登録します。Oracle に格納されたジオデータベースの場合、2 つの登録オプションがあります。登録オプションの詳細と、データベースの登録手順に関するトピックへのリンクについては、「データのサーバーへの登録について」をご参照ください。