株式会社コーソル

KNOWLEDGE

コーソルの技術情報

コーソルでは経験豊かなエンジニアが、Oracle Databaseに関するお役立ち情報を発信しています。
データベースのチューニングや設定にお役立ていただけます。

KNOWLEDGE検索人気のキーワード

Oracle DB Tips

ORA-12154: TNS: 指定された接続識別子を解決できませんでした (TNS-12154)

01.ORA-12154(TNS-12154)エラーとはどのようなエラーか?

ORA-12154エラーは、tnsnames.ora構成ファイルに指定されたネット・サービス名を検出できないことを示すエラーです。
一般的に、接続の際に使用した接続文字列が、tnsnames.ora から読み込めなかった場合に発生します。

02.ORA-12154エラーのエラー出力例

ERROR:
ORA-12154: TNS: 指定された接続識別子を解決できませんでした

03.ORA-12154の一般的な発生要因と対処

ORA-12154は一般に以下の要因で発生します。

  • tnsnames.oraの記載が正しくない
  • sqlnet.ora NAMES.DIRECTORY_PATH に TNSNAMES 以外のみが指定されている
  • sqlnet.oraに NAMES.DEFAULT_DOMAIN が設定されていた場合

 

tnsnames.oraの記載が正しくない

不正なコードが含まれている場合や記載ミスがある場合、接続文字列を認識できません。

sqlnet.ora NAMES.DIRECTORY_PATH に TNSNAMES 以外が指定されている

tnsnames.ora のみを使用して名前解決を行うように設定するには sqlnet.ora に以下のように記述します。

NAMES.DIRECTORY_PATH= (TNSNAMES)
sqlnet.oraに NAMES.DEFAULT_DOMAIN が設定されていた場合

NAMES.DEFAULT_DOMAIN = world と設定されている状態で、接続文字列 ORA001 と入力した場合、この接続文字列は自動的に ORA001.world と変換されます。この動作が、想定したものでない場合、ネット・サービス名を検出できず、ORA-12154エラーが発生する可能性があります。
以下のいずれかの対処を行ってください。

  • NAMES.DEFAULT_DOMAIN をコメントアウトする
  • tnsnames.ora の接続文字列にNAMES.DEFAULT_DOMAIN の値をドメイン名として付加する

04.キーワード

ORA-12154 TNS-12154 接続識別子 tnsnames.ora