ORA-12203
エラーメッセージ
ORA-12203: TNS: 接続先に接続できません ORA-12203: TNS:unable to connect to destination
基本的なエラーの内容
メッセージの通り、何らかの問題で接続先に接続できない場合に出力されます。
tnsnames.ora や sqlnet.ora の記述に問題があるか、ファイルの置き場所などに問題があることが多いです。まれにサーバ側のリスナーの設定の問題の場合もあります。
別のエラーが共に出力されている場合は、そちらのエラー番号を解決することでこのエラーも同時に解決されることがあります。
確認事項および対応
- 他のクライアント環境から接続先のデータベースに接続できることを確認します。他のクライアント環境から接続が可能であればデータベース側(リスナー)には問題ありません。
- 作成したアプリケーション等でこのエラーが出る場合、同じ環境から SQL*Plus など別の方法で接続した場合に同じエラーが発生するか確認します。他のアプリケーションで同じエラーが出ない場合、エラーが出るアプリケーション側の設定の問題と考えられます
- SQL*Plus などでも同じエラーが出る場合、sqlnet.log などに別のエラーが出力されていないか確認します。出力されている場合はそのエラーの対応を行います。
- 他のクライアント環境からの接続が可能な場合、 tnsnames.ora , sqlnet.ora を接続可能なクライアント環境からコピーします。
- 環境変数 TNS_ADMIN を設定し、tnsnames.ora のファイルのパスを明示的に指定してみます。
詳細
tnsnames.ora および sqlnet.ora の情報を元にデータベースサーバに接続を試みようとしたところ、それらのファイルがうまく読み込めない、記述がおかしい、正しい場所にファイルがない、別のディレクトリにある tnsnames.ora が参照されているなど、様々な理由で接続先のリスナーまで接続リクエストが届いていない状態の場合に出力されます。
関連エラー
ORA-12154: TNS: サービス名を解決できませんでした。
ORA-12514: TNS: リスナーは接続記述子にあるSERVICE_NAMEを解決できませんでした。