2012年09月28日

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

【環境】
サーバ:Oracle Database Server 11g Standard Edition One(11.2.0.3)
クライアント:Windows XP + Oracle Client 10g/9i

【事象】
コマンドプロンプトからSQL/Plusを起動してOracleへ接続しようとすると、以下のエラーメッセージが表示される。ただし、他のユーザー(SYSなど)で同じサーバへ接続すると正常にログインできる。
C:>sqlplus "username"/"Passw@rd!"@TNSNAME

SQL*Plus: Release 10.2.0.3.0 - Production on 木 9月 28 19:05:59 2012

Copyright (c) 1982, 2006, Oracle. All Rights Reserved.

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


【解決方法】
tnsnames.oraの記載が間違っているとか、TNS_ADMIN 環境変数にtnsnames.oraのディレクトリを指定するとかで直るという情報が多いのですが、今回は別のユーザーで接続すると正常にログインできるので非常に悩みました。

結論としてはパスワードに「@」や「%」を使うとエラーになるということでした(笑

11gのクライアントならOKなのかな…?

ちなみに11gからはパスワードの大文字小文字を区別するようになりました。
Object Browserのバージョンが古いやつで接続しようとしたら接続できなくて困ってしまった。結局SQL Developerを使っています。

10gまでと同様にパスワードの大文字小文字の区別をしないようにするにはALTER SYSTEM文で設定を変更します。
ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;


タグ:Oracle

posted by まきすけ at 19:10 | Comment(0) | TrackBack(0) | Linuxとか
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/294640118
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック