Oracle エラーの対応方法・解決方法を解説します

tnsnames.ora

tnsnames.ora  

ファイル

 ファイルの場所
 Unix    : $ORACLE_HOME/network/admin/tnsnames.ora
 Windows : %ORACLE_HOME%\network\admin\tnsnames.ora

クライアントとなるマシンからOracleデータベースサーバへ接続する為のネットサービス名が記述されるファイル。
ネットサービス名から、接続先となるサーバのホスト名、ポート番号、データベース名などを取得する。(接続時のネットサービス名の解決や接続方法に関しては sqlnet.ora ファイルで設定されているパラメータも影響する。)
また、データベースへ接続する為には、Oracleデータベースサーバ側でも、listener.ora ファイルによりクライアントの要求通りにリスナーの設定が行われ、リスナーが起動している必要がある。

tnsnames.ora ファイルの例1:
 orcl1 = 
 (DESCRIPTION = 
   (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521)) 
   (CONNECT_DATA = 
     (SERVICE_NAME = oracledb1) 
   ) 
 ) 
tnsnames.ora ファイルの例2:
 orcl2 = 
 (DESCRIPTION =
   (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.100)(PORT = 1521))
   )
  (CONNECT_DATA =
    (SID = oracledb2)
  )
)
 
 

詳細  

tnsnames.oraでは様々なパラメータを指定することで接続の方法を変更することができる

専用サーバ接続の指定の例:
 orcl3 = 
 (DESCRIPTION = 
   (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521)) 
   (CONNECT_DATA = 
     (SERVER=dedicated)
     (SERVICE_NAME = oracledb1) 
   ) 
 ) 

共有サーバを指定する場合は dedicated の部分をshared にする
(共有サーバ接続にはデータベース側の設定も必要)

複数アドレス・リストの例:
 orcl4=
 (DESCRIPTION=
  (ADDRESS_LIST=
    (LOAD_BALANCE=on)
    (FAILOVER=off)
    (ADDRESS=(PROTOCOL = TCP)(HOST = hostname)(PORT = 1521)) 
    (ADDRESS=(PROTOCOL = TCP)(HOST = hostname)(PORT = 1522)) 
  )
  (ADDRESS_LIST=
   (LOAD_BALANCE=off)
   (FAILOVER=on)
   (ADDRESS=(PROTOCOL = TCP)(HOST = hostname)(PORT = 1523)) 
   (ADDRESS=(PROTOCOL = TCP)(HOST = hostname)(PORT = 1524)) 
  )
  (CONNECT_DATA=
    (SERVICE_NAME=oracledb1)
  )
)

上記では2つのアドレスリストがあり、最初のアドレス・リストには、クライアント・ロード・バランスが有り、接続時フェイルオーバー無しとなっている。2番目のプロトコル・アドレス・リストは、クライアント・ロード・バランスが無し、接続時フェイルオーバーが有りとなっている。この場合、クライアントは、最初に第1または第2のプロトコル・アドレスを無作為に試行し、次に、第3および第4のプロトコル・アドレスを順に試行する。

関連用語  

ORACLE_HOME
listener.ora
sqlnet.ora
tnsping
専用サーバ
共有サーバ
ネットサービス名
ネーミングメソッド
リスナー

 
 

powered by Quick Homepage Maker 3.66
based on PukiWiki 1.4.7 License is GPL. QHM

最新の更新 RSS  Valid XHTML 1.0 Transitional