Oracleのデータベースへ接続する場合、データベースリソース定義に指定したネットサービス名の登録を行う必要があります。
データベースリソースのドライバタイプにociをしている場合は、対象のデータベースリソースについてネットサービス名の登録を行ってください。
また、サーバアプリケーションがCOBOLの場合は、以下のデータベースリソースについて、ネットサービス名の登録を行ってください。
業務データベース(メッセージ格納DB(注1))
メッセージトラッキングDB(注2)
注1) メッセージとDBの整合性保証機能を利用する場合に使用します。メッセージとDBの整合性保証機能を利用する場合は、業務データベースとして、メッセージ格納DBのデータベースリソース定義を使用します。
注2) メッセージトラッキング機能を利用する場合に使用します。
また、データベースサーバではリスナーの設定が必要になります。以下にリスナーの設定例、およびネットサービス名の設定例を示します。
注意
データベースサーバと、アプリケーションサーバが異なる場合、アプリケーションサーバにOracleクライアント(またはサーバ)のインストールが必要です。
データベースサーバと、アプリケーションサーバの両方に、Oracle Net Managerのインストールが必要です。
ポイント
データベースリソース定義に指定したネットサービス名を確認するには、apfwinforscコマンドを利用します。
■リスナーの設定
メッセージ格納DBを使用しない場合は、業務データベースのデータベースサーバにあるlistener.oraファイル(注)に、リスナーの定義とデータベースの定義を記載する必要があります。以下に定義例を示します。詳細については、Oracleマニュアル“Net Services管理者ガイド”を参照してください。
注)
listener.oraファイルは、“Oracleのホームディレクトリ/network/admin”ディレクトリ配下にあります。
listener.oraファイルは、“Oracleのホームディレクトリ\NETWORK\ADMIN”ディレクトリ配下にあります。
注意
メッセージ格納DBを利用する場合には、“第7章 データベースサーバの環境設定(Oracleを利用する場合)”により、リスナーの設定を行います。
リスナーの設定を行っていない場合は、“第7章 データベースサーバの環境設定(Oracleを利用する場合)”を参照して、データベースサーバの環境を作成してください。
データベースのホスト名 | USERDBServer |
プロトコル | TCP |
ポート番号 | 1521 |
SID | USERDB |
Oracleのホームディレクトリ | /opt/oracle/app/oracle/OraHome_1 |
例
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = USERDB) (ORACLE_HOME = /opt/oracle/app/oracle/OraHome_1) (SID_NAME = USERDB) (SERVICE_NAME = USERDB) ) ) LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = USERDBServer)(PORT = 1521)) ) |
データベースのホスト名 | USERDBServer |
プロトコル | TCP |
ポート番号 | 1521 |
SID | USERDB |
Oracleのホームディレクトリ | C:\oracle\app\oracle\OraHome_1 |
例
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = USERDB) (ORACLE_HOME = C:\oracle\app\oracle\OraHome_1) (SID_NAME = USERDB) (SERVICE_NAME = USERDB) ) ) LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = USERDBServer)(PORT = 1521)) ) |
ポイント
Oracleが提供する“netmgr”コマンドを利用し、GUIによりリスナーの設定を行うことが可能です。
■リスナーの起動、または定義の再読込み
リスナーが起動されていない場合は、リスナープロセスを起動します。リスナーが起動されている場合は、定義の再読込みを行います。以下にコマンドの実行例を示します。詳細については、Oracleマニュアル“Net Servicesリファレンス・ガイド”を参照してください。
lsnrctl start |
lsnrctl reload |
注意
lsnrctlコマンドを実行する場合は、環境変数ORACLE_HOMEにOracleのホームディレクトリを設定する必要があります。
Oracleインストールユーザで、lsnrctlコマンドの実行を行う必要があります。
■ネットサービス名の登録
アプリケーションサーバでは、tnsnames.ora(注)にネットサービス名を登録する必要があります。以下に、ネットサービス名の定義例を示します。詳細については、Oracleマニュアル“Net Services管理者ガイド”を参照してください。
注)
tnsnames.oraファイルは、“Oracleのホームディレクトリ/network/admin”ディレクトリ配下にあります。
tnsnames.oraファイルは、“Oracleのホームディレクトリ\NETWORK\ADMIN”ディレクトリ配下にあります。
データベースサーバのホスト名 | USERDBServer |
プロトコル | TCP |
ポート番号 | 1521 |
SID | USERDB |
ネットサービス名 | USERDB_CONNSTR |
データベースサーバのホスト名 | USERDBServer |
プロトコル | TCP |
ポート番号 | 1521 |
SID | APFWDB |
ネットサービス名 | APFWDB_CONNSTR |
例
APFWDB_CONNSTR = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = USERDBServer) (PORT = 1521) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = APFWDB) ) ) USERDB_CONNSTR = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = USERDBServer) (PORT = 1521) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = USERDB) ) ) |
ポイント
Oracleが提供する“netmgr”コマンドを利用し、GUIによりネットサービス名の設定を行うことが可能です。
■ネットサービス名による接続の確認
ネットサービス名の設定を終えた後、ネットサービス名による接続確認を行います。以下に例を示します。詳細については、Oracleマニュアル“SQL*Plusユーザーズ・ガイドおよびリファレンス”を参照してください。
例
sqlplus /nolog SQL> CONNECT system/password@USERDB_CONNSTR |
注意
sqlplusコマンドを実行する場合は、環境変数ORACLE_HOMEにOracleのホームディレクトリを設定する必要があります。