小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


Oracle12cでOracle Clientをインストール後、ORA-12560のエラーが出る件

はじめに

Oracle12cをインストールした環境にOracle Client(Oracle Database 12c Release 1 Client (12.1.0.1.0) for Microsoft Windows (x64 and 32-bit))をインストールしたら、SQL*Plusからログインできなくなりました。
以下のエラーが出てしまいます。

ORA-12560: TNS: プロトコル・アダプタ・エラーが発生しました

原因

SQLPLUSでエラーが発生する場合の回避策|SOPHIA2のブログSQLPLUSでエラーが発生する場合の回避策|SOPHIA2のブログ

上記のサイトにあるように、Oracle Clientした際に環境変数pathにOracle Clientのパスが追加されたことが原因のようです。ぼくの場合、C:\app\client\Administrator\product\12.1.0\client_1\bin;というパスが追加されていました。

これはオラクル・サーバをインストールした後、
「Oracle Data Access Components(ODAC)」などを
追加でインストールした場合に、DOSのpath設定に、
 D:\app\machinID\product\11.2.0\client_1;
 D:\app\machinID\product\11.2.0\client_1\bin;
が追加される為、発生するエラーです。
SQLPLUS.EXEというファイルが
 D:\app\machinID\product\11.2.0\client_1;
 D:\app\machinID\product\11.2.0\dbhome_1\bin;
の2箇所に存在し、DOSプロンプトからSQLPLUSを起動すると、
 D:\app\machinID\product\11.2.0\client_1;
の側のSQLPLUS.EXEが実行され、エラーとなります。

対処方法

環境変数pathを編集し、Oracle Clientのインストールによって追加されたパスを削除したら、ログインできるようになりました。