无法使用sqlplus连接到数据库:ORA-12154:TNS:无法解析指定的连接标识符

时间:2019-05-16 07:51:15

标签: linux sqlplus oracle12c tns

我正在尝试从一台Linux服务器通过sqlplus连接到DB,但出现以下错误:

SQL*Plus: Release 12.1.0.2.0 Production on Thu May 16 15:49:15 2019

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified


Enter user-name:

我在服务器中重新安装了oracle客户端,希望它能够解决该问题,但是不走运!

用法:

$>sqlplus user_name/passwd@SID

非常欢迎任何帮助!

1 个答案:

答案 0 :(得分:1)

当您尝试连接到TNSNAMES.ORA文件中不包含其别名的数据库时,会发生这种情况。例如:

SQL> connect scott/tiger@does_not_exist
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified


Warning: You are no longer connected to ORACLE.
SQL>

因此,请检查您使用的TNSNAMES.ORA中写的是什么。


请注意,几乎您安装的每个Oracle软件产品都包含其自己的TNSNAMES.ORA文件。如果您也是这种情况,我建议您:

  • 在硬盘上创建目录(例如c:\ oralib)
  • 在其中放入TNSNAMES.ORA文件之一
  • 将您正在访问的所有数据库复制/粘贴到该文件中
  • 创建名为TNS_ADMIN的环境变量,它将指向该目录
  • 这样做,每个Oracle产品只会查看该TNSNAMES.ORA文件
  • 此外,这意味着您只需要维护文件的一个副本,而不必维护所有副本