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のホームディレクトリを設定する必要があります。