首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

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

2012-03-06 
ORA-12154: TNS: 无法解析指定的连接标识符windows7 32bit+oracle 11g数据库服务和侦听器服务已经启动:lsn

ORA-12154: TNS: 无法解析指定的连接标识符
windows7 32bit+oracle 11g
数据库服务和侦听器服务已经启动:

lsnrctl status的输出如下:
LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 15-12月-2011 11:0
7:57

Copyright (c) 1991, 2010, Oracle. All rights reserved.

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 11.2.0.1.0 - Produ
ction
启动日期 15-12月-2011 10:45:29
正常运行时间 0 天 0 小时 22 分 28 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 C:\oracle\product\11.2.0\dbhome_1\network\admin\listen
er.ora
监听程序日志文件 c:\oracle\diag\tnslsnr\ad999\listener\alert\log.xml
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ad999)(PORT=1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
  实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个实例。
  实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orclXDB" 包含 1 个实例。
  实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功

sqlnet.ora文件如下:
SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

listener.ora文件如下:
SID_LIST_LISTENER =
  (SID_LIST =
  (SID_DESC =
  (SID_NAME = CLRExtProc)
  (ORACLE_HOME = C:\oracle\product\11.2.0\dbhome_1)
  (PROGRAM = extproc)
  (ENVS = "EXTPROC_DLLS=ONLY:C:\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
  )
  )

LISTENER =
  (DESCRIPTION_LIST =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  (ADDRESS = (PROTOCOL = TCP)(HOST = AD999)(PORT = 1521))
  )
  )

ADR_BASE_LISTENER = C:\oracle


tnsnames.ora文件如下:
ORCL =
  (DESCRIPTION =
  (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = AD999)(PORT = 1521))
  )
  (CONNECT_DATA =
  (SERVICE_NAME = ORCL)
  )
  )


tnsping测试正常:
TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 15-12月-
2011 11:11:23

Copyright (c) 1997, 2010, Oracle. All rights reserved.

已使用的参数文件:
C:\oracle\product\11.2.0\dbhome_1\network\admin\sqlnet.ora


已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = AD999
)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ORCL)))
OK (30 毫秒)

但无法用scott用户登录:
C:\Users\ask>sqlplus scott/1111111@orcl

SQL*Plus: Release 11.2.0.1.0 Production on 星期四 12月 15 11:11:42 2011

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

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


请输入用户名:



scott用户经测试能正常登录查询:
SQL> conn scott/1111111
已连接。
SQL> select * from dept;

  DEPTNO DNAME LOC
---------- -------------- -------------
  10 ACCOUNTING NEW YORK
  20 RESEARCH DALLAS
  30 SALES CHICAGO
  40 OPERATIONS BOSTON


windows7上的防火墙关闭也试过,故障现象一样。

why?

[解决办法]
请参考这篇博文:http://blog.csdn.net/luiseradl/article/details/7064916
------解决方案--------------------


把listener.ora文件中SID_NAME行各位如下:
(SID_NAME = ORCL)

[解决办法]
windows7 32bit +oracle 真是个杯具,上次帮朋友处理了一天,刚开始是因为某些安装组件出了问题,也出了这样的问题,重新卸载干净,要兼容模式安装,安装完就可以了,什么都可以连接了,TOAD就是不能连接,最后没有时间,叫他重新安装最新版的TOAD,也补知道解决了没有,至少SQL DEVELOP了可以用了
[解决办法]

热点排行