Oracle Database Gatewayインストレーションおよび構成ガイド 11gリリース1(11.1) for AIX 5L Based Systems(64-bit), HP-UX PA-RISC(64-bit), HP-UX Itanium, Solaris Operating System (SPARC 64-bit), Linux x86, and Linux x86-64 E05708-01 |
|
![]() 戻る |
![]() 次へ |
ゲートウェイおよびOracle以外のシステムに対応するODBCドライバのインストール後、次のタスクを実行してOracle Database Gateway for ODBCを構成します。
次のタスクを実行して、ゲートウェイ初期化ファイルを構成します。
Oracle Database Gateway for ODBC用に、初期化ファイルを作成する必要があります。Oracleには、サンプルの初期化ファイルinitdg4odbc.ora
が付属します。サンプル・ファイルは、$ORACLE_HOME/hs/admin
ディレクトリに格納されています。
ODBCゲートウェイ用の初期化ファイルを作成するには、サンプルの初期化ファイルをコピーしてその名前をinit
sid
.ora
に変更します(sid
は、ゲートウェイの接続先となるOracle以外のシステムのインスタンスで使用されるシステム識別子(SID)です)。
ゲートウェイ・システム識別子(SID)は、ゲートウェイ・インスタンスを識別する英数字の文字列です。アクセスするODBCソースごとに、1つのゲートウェイ・インスタンスが(したがって1つのゲートウェイSIDが)必要です。
2つのODBCソースにアクセスする場合は、ゲートウェイのインスタンスごとに1つずつ、合計2つのゲートウェイSIDが必要です。ODBCソースが1つのみ存在し、そのアクセスに使用するゲートウェイ・パラメータ設定のセットを状況に応じて使い分ける場合、単一のODBCソースに対して複数のゲートウェイSIDが必要です。SIDは、初期化パラメータ・ファイルのファイル名の一部に使用されます。
初期化ファイルを作成したら、初期化パラメータ値を設定する必要があります。複数の初期化パラメータを使用して、ゲートウェイの動作を変更できます。HS_FDS_CONNECT_INFO
およびHS_FDS_SHAREABLE_NAME
初期化パラメータを設定する必要があります。その他の初期化パラメータは、デフォルト値を持つか、オプションです。デフォルト値を使用して、オプションのパラメータを省略できます。または、独自のインストール環境に適した値を使用してパラメータを指定できます。設定可能な初期化パラメータの完全なリストは、付録C「初期化パラメータ」を参照してください。初期化パラメータに加えた変更は、次のゲートウェイ・セッションまで反映されません。
HS_FDS_CONNECT_INFO
初期化パラメータでは、Oracle以外のシステムに接続するのに必要な情報を指定します。HS_FDS_CONNECT_INFOは、次のように設定します。
HS_FDS_CONNECT_INFO=dsn_value
ここで、dsn_valueは、odbc.ini
ファイルに構成されているデータソース名です。
HS_FDS_SHAREABLE_NAME
初期化パラメータでは、ODBCドライバ・マネージャのフルパスを指定します。HS_FDS_SHAREABLE_NAMEは、次のように設定します。
HS_FDS_SHAREABLE_NAME=full_path_of_odbc_driver
ここで、full_path_of_odbc_driver
は、ODBCドライバ・マネージャのフルパスです。
次に、DataDirect Technologies社のSQL Server ODBCドライバを使用するodbc.ini
ファイルの例を示します。ODBCドライバは、$ODBCHOME
(/opt/odbc520
ディレクトリ)にインストールされます。
[ODBC Data Sources] SQLServerWP=DataDirect 5.20 SQL Server Wire Protocol [SQLServerWP] Driver=/opt/odbc520/lib/ivmsss18.so Description=DataDirect 5.20 SQL Server Wire Protocol Database=oratst LogonID=TKHOUSER Password=TKHOUSER Address=sqlserver-pc,1433 QuotedId=Yes AnsiNPW=No [ODBC] Trace=0 TraceFile=/opt/odbc520/odbctrace.out TraceDll=/opt/odbc520/lib/odbctrac.so InstallDir=/opt/odb520 ConversionTableLocation=/opt/odbc520/tables UseCursorLib=0
このドライバを使用するようOracle Database Gateway for ODBCを構成するには、次の行がinit
sid
.ora
に必要です。
HS_FDS_CONNECT_INFO=SQLServerWP HS_FDS_SHAREABLE_NAME=/opt/odbc520/lib/libodbc.so set ODBCINI=/opt/odbc/odbc.ini
ODBCドライバの使用によりいくつかの環境変数を設定する必要がある場合、それらの変数は、初期化ファイルに設定するか、環境に設定することができます。
HS_FDS_CONNECT_INFO
初期化パラメータ値は、odbc.ini
ファイルのODBCデータソース名と一致する必要があります。
注意: ODBCドライバで引用識別子または区切り識別子がサポートされる場合、それを有効化する必要があります。 |
ゲートウェイでは、Oracle Databaseと通信するためにOracle Netが必要です。ゲートウェイの構成後、次のタスクを実行して、ゲートウェイと連携動作するようにOracle Netを構成します。
Oracle Net Listenerは、Oracle Databaseからの着信リクエストをリスニングします。Oracle Net Listenerでゲートウェイをリスニングするためには、ゲートウェイに関する情報をOracle Net Listenerの構成ファイル(listener.ora
)に追加する必要があります。このファイルのデフォルトの場所は、$ORACLE_HOME
/network/admin
です($ORACLE_HOME
はゲートウェイのインストール先のディレクトリです)。
次のエントリをlistener.ora
ファイルに追加する必要があります。
Oracle Net ListenerがリスニングするOracle Netアドレスのリスト
Oracle Net Listenerが着信接続リクエストに応じて起動するゲートウェイの実行可能ファイルの名前
listener.ora
エントリのサンプル(listener.ora.sample
)は、$ORACLE_HOME/dg4odbc/admin
ディレクトリにあります($
ORACLE_HOME
はゲートウェイのインストール先のディレクトリです)。
Oracle Databaseは、Oracle Netおよびサポートされている任意のプロトコル・アダプタを使用してゲートウェイと通信します。次に、TCP/IPプロトコル・アダプタを使用してOracle Net Listenerがリスニングするアドレスの構文を示します。
LISTENER= (ADDRESS= (PROTOCOL=TCP) (HOST=host_name) (PORT=port_number))
変数の意味は次のとおりです。
変数 | 説明 |
---|---|
host_name |
ゲートウェイがインストールされているマシンの名前。 |
port_number |
Oracle Net Listenerにより使用されるポート番号。同じマシン上で稼働する他のリスナーが存在する場合、port_numberの値は、他のリスナーのポート番号とは異なる必要があります。 |
着信接続リクエストに応じてゲートウェイを起動するようOracle Net Listenerを構成するには、listener.ora
ファイルにエントリを追加します。HP-UX PA-RISCの構文は、他のプラットフォームとは多少異なります。
注意: tnsnames.ora ファイルとlistener.ora ファイルで同じSID値を使用する必要があります。 |
Linuxの場合:
SID_LIST_LISTENER= (SID_LIST= (SID_DESC= (SID_NAME=gateway_sid) (ORACLE_HOME=oracle_home_directory) (PROGRAM=dg4odbc) (ENVS=LD_LIBRARY_PATH=odbc_library_dir:$ORACLE_HOME/lib) ) )
HP-UX PA-RISCの場合:
SID_LIST_LISTENER= (SID_LIST= (SID_DESC= (SID_NAME=gateway_sid) (ORACLE_HOME=oracle_home_directory) (PROGRAM=dg4odbc) (ENVS=SHLIB_PATH=odbc_library_dir:$ORACLE_HOME/lib32) ) )
変数の意味は次のとおりです。
変数 | 説明 |
---|---|
gateway_sid |
ゲートウェイのSIDを指定します。tnsnames.ora ファイルの接続記述子エントリで指定されたゲートウェイSIDと一致させます。 |
oracle_home_directory |
ゲートウェイの存在するOracleホーム・ディレクトリを指定します。 |
odbc_library_dir |
ODBCドライバのライブラリ・パスを指定します。 |
dg4odbc |
Oracle Database Gateway for ODBCの実行可能ファイル名を指定します。 |
既存のOracle Net Listenerがすでに存在する場合、既存のlistener.ora
ファイルのSID_LIST
に次の構文を追加します。
Linuxの場合:
SID_LIST_LISTENER= (SID_LIST= (SID_DESC=. . ) (SID_DESC=. . ) (SID_DESC= (SID_NAME=gateway_sid) (ORACLE_HOME=oracle_home_directory) (PROGRAM=dg4odbc) (ENVS=LD_LIBRARY_PATH=odbc_library_dir:$ORACLE_HOME/lib) ) )
HP-UX PA-RISCの場合:
SID_LIST_LISTENER= (SID_LIST= (SID_DESC=. . ) (SID_DESC=. . ) (SID_DESC= (SID_NAME=gateway_sid) (ORACLE_HOME=oracle_home_directory) (PROGRAM=dg4odbc) (ENVS=SHLIB_PATH=odbc_library_dir:$ORACLE_HOME/lib32) ) )
関連項目: listener.ora ファイルの変更方法の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。 |
新規設定を反映するには、次のようにOracle Net Listenerを停止して再起動する必要があります。
PATH
環境変数を$ORACLE_HOME/bin
に設定します($ORACLE_HOME
はゲートウェイのインストール先のディレクトリです)。
たとえば、LinuxプラットフォームでBourneシェルまたはKornシェルを使用している場合、次のように入力します。
$ PATH=$ORACLE_HOME/bin:$PATH;export PATH $ LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH
Cシェルを使用している場合、次のように入力します。
$ setenv PATH $ORACLE_HOME/bin:$PATH $ setenv LD_LIBRARY_PATH $ORACLE_HOME/lib:$LD_LIBRARY_PATH
表11-1に、異なるプラットフォームで使用するパラメータ値を示します。
リスナーがすでに実行中の場合、次のようにlsnrctl
コマンドを使用してリスナーを停止し、新規設定を使用して起動します。
$ lsnrctl stop $ lsnrctl start
次のように新規設定に基づくリスナーのステータスを確認します。
$ lsnrctl status
次の例は、lsnrctl
のステータス確認による出力の一部です。この例で、dg4odbc
はSIDです。
. . . Services Summary... Service "dg4odbc" has 1 instance(s). Instance "dg4odbc", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully
ゲートウェイを使用してODBCデータソースにアクセスする前に、Oracle Databaseを構成してOracle Netを通じたゲートウェイとの通信を使用可能にする必要があります。
Oracle Databaseを構成するには、tnsnames.ora
ファイルに接続記述子を追加する必要があります。このファイルのデフォルトの場所は、$ORACLE_HOME/network/admin
です($ORACLE_HOME
はOracle Databaseのインストール先のディレクトリです)。tnsnames.ora
ファイルの構成にOracle Net AssistantやOracle Net Easy Configツールを使用することはできません。ファイルは手動で編集してください。
tnsnames.ora
エントリのサンプル(tnsnames.ora.sample
)は、$ORACLE_HOME/dg4odbc/admin
ディレクトリにあります($
ORACLE_HOME
はゲートウェイのインストール先のディレクトリです)。
関連項目: tnsnames.ora ファイルの編集方法の詳細は、『Oracle Database管理者ガイド』を参照してください。 |
tnsnames.ora
ファイルを編集してゲートウェイの接続記述子を追加します。次に、TCP/IPプロトコルを使用するOracle Netエントリの構文を示します。
connect_descriptor= (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=host_name) (PORT=port_number) ) (CONNECT_DATA= (SID=gateway_sid)) (HS=OK))
変数の意味は次のとおりです。
変数 | 説明 |
---|---|
connect_descriptor |
データベース・リンクの作成時に指定された接続先オブジェクトの記述(dg4odbc など)。
sqlnet.oraファイルで次のパラメータ設定を確認してください。
注意: |
TCP |
TCP/IP接続に使用されるTCPプロトコル。 |
host_name |
ゲートウェイが稼働しているマシンを指定します。 |
port_number |
ゲートウェイをリスニングしているOracle Net Listenerにより使用されるポート番号と一致させます。Oracle Net Listenerのポート番号は、Oracle Net Listenerにより使用されるlistener.ora ファイルで確認できます。「listener.oraファイルのエントリの構文」を参照してください。 |
gateway_sid |
ゲートウェイのSIDを指定します。ゲートウェイをリスニングしているOracle Net Listenerのlistener.ora ファイルで指定されたSIDと一致させます。詳細は、「ゲートウェイ用のOracle Net Listenerの構成」を参照してください。 |
(HS=OK) |
この接続記述子でOracle以外のシステムに接続することを指定します。 |
Oracle Databaseに接続されたすべてのOracleクライアントは、ゲートウェイを通じてODBCデータソースにアクセスします。OracleクライアントとOracle Databaseは、異なるマシン上に存在できます。ゲートウェイは、Oracle Databaseからの接続のみを受け入れます。
ゲートウェイとの接続は、Oracleセッションでその接続が最初に使用されるときに、データベース・リンクを通じて確立されます。この場合の接続とは、Oracle Databaseとゲートウェイ間の接続を示します。接続は、Oracleセッションが終了するまで確立されたままとなります。別のセッションまたはユーザーが同じデータベース・リンクにアクセスし、ゲートウェイおよびODBCデータソースに対する別個の接続を取得することも可能です。
データベース・リンクは、ゲートウェイ・セッションの継続時間中はアクティブです。セッション中にデータベース・リンクをクローズする場合は、ALTER SESSION
文を使用します。
ODBCデータソースにアクセスするには、データベース・リンクを作成する必要があります。パブリック・データベース・リンクは、最も一般的なデータベース・リンクです。
SQL> CREATE PUBLIC DATABASE LINK dblink CONNECT TO 2 "user" IDENTIFIED BY "password" USING 'tns_name_entry';
変数の意味は次のとおりです。
変数 | 説明 |
---|---|
dblink |
完全なデータベース・リンク名。 |
tns_name_entry |
ゲートウェイを識別するtnsnames.ora ファイルのOracle Net接続記述子を指定します。 |
データベース・リンクの作成後に、次のようにODBCデータソースへの接続を確認できます。
SQL> SELECT * FROM DUAL@dblink;
関連項目: データベース・リンクの使用方法の詳細は、『Oracle Database管理者ガイド』および『Oracle Database Heterogeneous Connectivity管理者ガイド』を参照してください。 |
ゲートウェイでは、ユーザーIDとパスワードを使用してリモート・データベースの情報にアクセスします。一部のユーザーIDおよびパスワードは、リソース・リカバリなどの機能を処理するためにゲートウェイ初期化ファイルに定義する必要があります。セキュリティを意識した現在の環境では、初期化ファイルでアクセス可能なプレーン・テキスト・パスワードは、セキュアではないとみなされます。セキュリティを向上するために、異機種間サービスの一部としてdg4pwd
暗号化ユーティリティが追加されました。このユーティリティには、ゲートウェイからアクセスできます。機密値を含む初期化パラメータは、暗号化された形式で格納できます。
関連項目: このユーティリティの使用方法の詳細は、『Oracle Database Heterogeneous Connectivity管理者ガイド』を参照してください。 |
複数のODBCデータソースにアクセスするためのゲートウェイの構成作業は、単一のデータソースを対象とするゲートウェイの構成作業とほぼ同じです。構成例の前提条件は次のとおりです。
ゲートウェイがdg4odbc
というSIDを使用してインストールおよび構成されていること。
ゲートウェイがdsn1
という1つのODBCデータソースにアクセスするよう構成されていること。
dsn2およびdsn3という2つのODBCデータソースが追加されること(dsn2およびdsn3はodbc.iniファイルに構成されたデータソース名)。
ODBCデータソースごとに1つのシステムIDを選択
ODBCデータソースごとにゲートウェイの個別のインスタンスが必要です。各インスタンスには、独自のゲートウェイ・システムID(SID)が必要です。この例では、ODBCデータソースにアクセスするインスタンスに対して次のゲートウェイSIDが選択されます。
dg4odbc2
(データソースdsn2
にアクセスするゲートウェイ用)。
dg4odbc3
(データソースdsn3
にアクセスするゲートウェイ用)。
2つの初期化パラメータ・ファイルの作成
ゲートウェイのインスタンスごとに初期化パラメータ・ファイルを作成するため、元の初期化パラメータ・ファイル$ORACLE_HOME
/hs/admin/initdg4odbc.ora
を2回コピーします。次のように、1つのファイルにはdsn2
のゲートウェイSIDを含む名前を付け、もう1つのファイルにはdsn3
のゲートウェイSIDを含む名前を付けます。
$ cd ORACLE_HOME/hs/admin $ cp initdg4odbc.ora initdg4odbc2.ora $ cp initdg4odbc.ora initdg4odbc3.ora
次のように各新規ファイルのHS_FDS_CONNECT_INFO
パラメータの値を変更します。
initdg4odbc2.ora
では、次のように入力します。
HS_FDS_CONNECT_INFO=dsn2
initdg4odbc3.ora
では、次のように入力します。
HS_FDS_CONNECT_INFO=dsn3
注意: 状況に応じて異なるゲートウェイ・パラメータ設定を使用するために、同じODBCデータソースに対して複数のゲートウェイSIDを割り当てる場合も、同じ手順に従ってください。それぞれ異なるSIDと異なるパラメータ設定を持つ複数の初期化パラメータ・ファイルを作成します。 |
Oracle Net Listener構成ファイルlistener.ora
に、2つの新規エントリを追加します。複数のゲートウェイ・インスタンスで同じデータベースにアクセスする場合でも、ゲートウェイ・インスタンスごとに1つのエントリを用意する必要があります。
次の例では、最初にインストールされた元のゲートウェイ用のエントリの次に、新規エントリが続いています。HP-UX PA-RISCの構文は、他のプラットフォームとは多少異なります。
SID_LIST_LISTENER= (SID_LIST= (SID_DESC= (SID_NAME=dg4odbc) (ORACLE_HOME=oracle_home_directory) (PROGRAM=dg4odbc) (ENVS=LD_LIBRARY_PATH=odbc_library_dir:$ORACLE_HOME/lib) ) (SID_DESC= (SID_NAME=dg4odbc2) (ORACLE_HOME=oracle_home_directory) (PROGRAM=dg4odbc) (ENVS=LD_LIBRARY_PATH=odbc_library_dir:$ORACLE_HOME/lib) ) (SID_DESC= (SID_NAME=dg4odbc3) (ORACLE_HOME=oracle_home_directory) (PROGRAM=dg4odbc) (ENVS=LD_LIBRARY_PATH=odbc_library_dir:$ORACLE_HOME/lib) ) )
ここで、oracle_home_directory
は、ゲートウェイが存在するディレクトリです。
リスナーがすでに実行中の場合、次のようにlsnrctl
コマンドを使用してリスナーを停止し、新規設定を使用して起動します。
$ lsnrctl stop $ lsnrctl start
tnsnames.ora
ファイルに2つの接続記述子エントリを追加します。複数のゲートウェイ・インスタンスで同じデータベースにアクセスする場合でも、ゲートウェイ・インスタンスごとに1つのエントリを用意する必要があります。
次の例では、最初にインストールされた元のゲートウェイ用のエントリの次に、新規ゲートウェイ・インスタンス用の2つのエントリが続いています。
old_dsn_using=(DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (PORT=port_number) (HOST=host_name)) (CONNECT_DATA= (SID=dg4odbc)) (HS=OK)) new_dsn2_using=(DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (PORT=port_number) (HOST=host_name)) (CONNECT_DATA= (SID=dg4odbc2)) (HS=OK)) new_dsn3_using=(DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (PORT=port_number) (HOST=host_name)) (CONNECT_DATA= (SID=dg4odbc3)) (HS=OK))
PORT
の値は、ゲートウェイをリスニングしているOracle Net ListenerのTCP/IPポート番号です。この番号は、Oracle Net Listenerにより使用されるlistener.ora
ファイルで確認できます。HOST
の値は、ゲートウェイが稼働しているマシンの名前です。この名前も、Oracle Net Listenerにより使用されるlistener.ora
ファイルで確認できます。
次のように入力してdg4odbc2
ゲートウェイ用のデータベース・リンクを作成します。
SQL> CREATE PUBLIC DATABASE LINK ODBC2 CONNECT TO 2 "user2" IDENTIFIED BY "password2" USING 'new_dsn2_using';
次のように入力してdg4odbc3
ゲートウェイ用のデータベース・リンクを作成します。
SQL> CREATE PUBLIC DATABASE LINK ODBC3 CONNECT TO 2 "user3" IDENTIFIED BY "password3" USING 'new_dsn3_using';
データベース・リンクの作成後に、次のように新規ODBCデータソースへの接続を確認できます。
SQL> SELECT * FROM ALL_USERS@ODBC2;
SQL> SELECT * FROM ALL_USERS@ODBC3;