当我使用已有的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数据库而导致混淆)?
我该如何解决?可能的原因是什么?请指教!
答案 0 :(得分:8)
安装服务器版本时,它更新了环境变量以指向服务器安装而不是客户端安装。 TNS别名的定义在tnsnames.ora中完成,没有listener.ora。因此,您必须将已存在的条目从c:/oracle/ora_client/network/admin/tnsnames.ora复制到c:/oracle/product/db_1/network/admin/tnsnames.ora。请注意遵守tnsnames.ora格式。
答案 1 :(得分:1)
我今天遇到了这个错误。在配置监听器时花了很多时间检查我做错了什么。即使我使用netca配置它后仍然有同样的错误:
ORA-12154:TNS:无法解析指定的连接标识符
似乎原因是包含'@'字符的sys的密码错误。
例如,当您按以下方式连接时:
$sqlplus sys as sysdba
回复是
SQL * Plus:版本11.2.0.4.0于2015年5月27日星期三08:24:19生产
版权所有(c)1982,2013,Oracle。保留所有权利。
输入密码:ple @ se错误:ORA-12154:TNS:无法解析 连接标识符指定
就是这样。很容易的情况。