[oracle] sqlplusでつなごうと思ったらORA-12162: TNS:net service name is incorrectly specifiedというエラーが出た。

Oracleデータベース(バージョンは11gR2)にsqlplusから接続しようとしたら、接続ができなかった時の原因と解決策の話です。

症状

Oracle11gR2をインストールした後で、sqlplusからいざつなごうと思ったら、以下のようにエラーになった。
エラーの内容は「ORA-12162: TNS:net service name is incorrectly specified」とのこと。

「ORA-12162」を検索すると「このエラーがでる場合は接続文字列(ネットサービス名)が設定されるべき場所に、適切に文字が入っていない場合に出力されます。」とのこと。
どうもtnsnames.oraに関係があるような記述があったので、そっちも確認してみたが、特におかしな点も見つからない…

原因

で、結局はORACLE_SIDという環境変数を設定していなかったからみたいです。
これが設定されていないとうまく接続できないんですね。知りませんでした。。ちなみに、ORACLE_HOMEも設定されていないといけないようです。(oracleユーザに指定してあげる)

きちんと設定されているかの確認は以下

解決策

もう設定しましょう以外の説明はないです。設定しましょう!「/etc/bashrc」に書くかあるいは「.bash_profile」に書くか、好きな方でOKです。

「.bash_profile」に書くなら以下ですね。oracleユーザにだけ設定したい場合はこちらです。

全てのユーザに適応させたいなら「/etc/bashrc」に記載ですかね。

おしまい

きちんとインストールガイドとか読まないといけないですね。。

  • ■ システムの科学
    システム創成学科のシミュレーションコース的にはバイブル的存在であったと認識しております(笑)社会システムや人工物をどのように設計していくかについて俯瞰的に書かれているので、自分の思考のフレームができます。
PAGE TOP ↑