ORA-12545: 连接失败,因为 Mac 中不存在目标主机或对象 - SQLPLUS

ORA-12545: Connect failed because target host or object does not exist in Mac - SQLPLUS

我已经在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 environment variable定义默认连接字符串,例如

export TWO_TASK=${ORACLE_SID}

同时使用 tnsping myDB 测试配置。