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

unable to connect to DB using sqlplus: ORA-12154: TNS:could not resolve the connect identifier specified

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

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

欢迎任何帮助!!!

当您尝试连接别名未包含在 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 个文件之一放在那里
  • copy/paste 您正在访问的所有数据库到该文件
  • 创建名为 TNS_ADMIN 的环境变量,它将指向该目录
  • 这样做,每个 Oracle 产品将只查看那个 TNSNAMES.ORA 文件
  • 此外,这意味着您只需维护文件的一个副本,而不是所有副本