1. ホーム
  2. oracle

[解決済み] ORA-12545: ターゲットホストまたはオブジェクトが Mac に存在しないため、接続に失敗しました - SQLPLUS

2022-02-06 06:32:57

質問

私は、Mac OS X EI Captainにsqlplus instantclientをインストールしました。

ターミナルで以下のコマンドを入力すると、データベースに接続することができます。

sqlplus uname/pwd@//localhost:1521/myDB

私は完全な接続文字列なしでデータベースに接続する必要があります、私はちょうど私がタイプする必要があります。 sqlplus を入力し、ユーザー名とパスワードを入力すると、以下のエラーが発生します。

ERROR:
ORA-12545: Connect failed because target host or object does not exist

以下の環境変数が設定され、tnsnames.oraが作成されています。

export ORACLE_HOME=/opt/oracle/instantclient
export DYLD_LIBRARY_PATH=$ORACLE_HOME
export LD_LIBRARY_PATH=$ORACLE_HOME
export NLS_LANG=AMERICAN_AMERICA.UTF8
export TNS_ADMIN=~/etc
export PATH=$PATH:$ORACLE_HOME  
export ORACLE_SID=myDB

なぜこのようなエラーが発生するのか、よくわかりません。

以下は、~/etc の場所にある tnsnames.ora です。

myDB =
(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost) (PORT = 1521))
        (
            CONNECT_DATA =
            (SERVER = DEDICATED)
            (SERVICE_NAME = myDB)
        )
)

解決方法は?

を設定します。 TWO_TASK 環境変数 を使用して、デフォルトの接続文字列を定義します。

export TWO_TASK=${ORACLE_SID}

また、設定をテストするために tnsping myDB .