ORA-12154: TNS: 无法解析指定的连接标识符

Posted

技术标签:

【中文标题】ORA-12154: TNS: 无法解析指定的连接标识符【英文标题】:ORA-12154: TNS:could not resolve the connect identifier specified 【发布时间】:2011-08-31 03:33:53 【问题描述】:

当我使用现有的 Oracle 10g 客户端版本安装服务器版本时,问题就开始了。

背景:安装了 Oracle 客户端版本 10g(位于 c:/oracle)以连接到位于其他国家/地区的数据库。所以我们可以只连接到它并限制访问它。

路径 => c:/oracle/ora_client/network/admin/listener.ora

为了以管理员身份工作,我在 Windows 上的同一位置 c:/oracle 安装了 10g 服务器。我现在可以作为服务器工作了。

路径 => c:/oracle/product/db_1/network/admin/listener.ora

但是当我尝试连接我安装的应用程序以将连接设置为客户端(到位于其他国家/地区的服务器)时出现问题,它失败并抛出错误 ORA-12154。

那么,我是否必须卸载我的服务器版本(以防万一可能由于存在两个 Oracle 数据库而出现混乱)?

我该如何解决?可能的原因是什么?请指教!

【问题讨论】:

【参考方案1】:

当您安装服务器版本时,它会更新环境变量以指向服务器安装而不是客户端安装。 TNS 别名的定义在 tnsnames.ora 中完成,没有 listener.ora。因此,您必须将已经存在的条目从 c:/oracle/ora_client/network/admin/tnsnames.ora 复制到 c:/oracle/product/db_1/network/admin/tnsnames.ora。请注意遵守 tnsnames.ora 格式。

【讨论】:

太棒了! :) 谢谢 :) 它有效。就在最后一个问题,在哪里检查这些环境变量?我的意思是客户端和服务器的路径是什么? 我假设这是 Windows。在安装oracle的用户下,检查path和oracle*变量的设置【参考方案2】:

我今天遇到了这个错误。在配置监听器时花了很多时间检查我做错了什么。即使在我使用 netca 配置它之后,我仍然遇到同样的错误:

ORA-12154: TNS: 无法解析指定的连接标识符

原因似乎是包含“@”字符的 sys 密码错误。

例如当你如下连接时:

$sqlplus sys as sysdba

回复是

SQL*Plus:2015 年 5 月 27 日星期三 08:24:19 发布 11.2.0.4.0 生产

版权所有 (c) 1982、2013、甲骨文。保留所有权利。

输入密码:ple@se 错误:ORA-12154:TNS:无法解析 指定连接标识符

就是这样。非常简单的案例。

【讨论】:

说真的,wtf。为什么他们在设置密码时不只是禁止在密码中使用“@”? -.-

以上是关于ORA-12154: TNS: 无法解析指定的连接标识符的主要内容,如果未能解决你的问题,请参考以下文章

如何解决ORA-12154:TNS:无法解析指定的连接标识符

ORA-12154:TNS:无法解析指定的连接标识符

ORA-12154:TNS:无法解析指定的连接标识符

ORA-12154: TNS: 无法解析指定的连接标识符

ORA-12154: TNS: 无法解析指定的连接标识符

ORA-12154: TNS: 无法解析指定的连接标识符