TNS监听器错误

时间:2011-01-04 10:54:07

标签: sql windows database oracle

我已经安装了Oracle 11g,现在当我尝试连接PL-SQL Developer时出现以下错误

  

ORA-12154:TNS:无法解决问题   连接标识符指定

如何查看指定的'标识符'?

我的服务中现在有两个TNS监听器,但只有11g可以启动,因为9i目录不再存在。

任何人都知道解决方案吗?

我的 tnsnames.ora

  

ORCL =(DESCRIPTION =       (ADDRESS =(PROTOCOL = TCP)(HOST = XXX_L07082.xxx-batt.local)(PORT =   1521))       (CONNECT_DATA =         (SERVER = DEDICATED)         (SERVICE_NAME = orcl)       ))

我的 listner.ora

  

LISTENER =(DESCRIPTION_LIST =       (DESCRIPTION =         (ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC1521))         (ADDRESS =(PROTOCOL = TCP)(HOST = XXX_L07082.xxx-batt.local)(PORT = 1521))       ))

SQLNET.ORA

  

SQLNET.AUTHENTICATION_SERVICES =(NTS)

     

NAMES.DIRECTORY_PATH =(TNSNAMES,   EZCONNECT)

TNSPING ORCL

  

尝试联系(DESCRIPTION =   (ADDRESS =(PROTOCOL = TCP)(HOST =   XXX_L070   82.xxx-batt.local)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)   (SERVICE_N AME = orcl)))OK(40毫秒)

1 个答案:

答案 0 :(得分:1)

您是否同时安装了多个Oracle客户端?

不幸的是,如果您安装多个版本的Oracle客户端,它们有时(可能经常?)不能很好地协同工作。可能发生的是,Oracle客户端的两个版本之间的某些路径混合在一起。我会删除旧的。

如果您输入内容会发生什么:tnsping [name]

也许tnsping会给你一些更有用的信息。

在Windows中,我之前通过编辑PATH环境变量修复了这些问题,并删除了对旧Oracle客户端的所有引用。您可以通过转到计算机 - >来编辑PATH环境变量。属性 - >高级系统设置(仅限Vista和7) - >高级(标签) - >环境变量...我通常会复制出路径并在记事本中对其进行编辑,然后将已编辑的路径复制回来。

如果这不起作用并且旧客户端的目录结构存在,那么我会将tnsnames.ora复制到旧客户端的Network / Admin目录中,看看是否有效。