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

马甲1 2011-12-15 11:14:48
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?
...全文
340 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
马甲1 2011-12-15
  • 打赏
  • 举报
回复
再来两个人接分,每人20分,速度。
iqlife 2011-12-15
  • 打赏
  • 举报
回复
windows7 32bit +oracle 真是个杯具,上次帮朋友处理了一天,刚开始是因为某些安装组件出了问题,也出了这样的问题,重新卸载干净,要兼容模式安装,安装完就可以了,什么都可以连接了,TOAD就是不能连接,最后没有时间,叫他重新安装最新版的TOAD,也补知道解决了没有,至少SQL DEVELOP了可以用了
宋哥 2011-12-15
  • 打赏
  • 举报
回复
把listener.ora文件中SID_NAME行各位如下:
(SID_NAME = ORCL)
我心飞翔 2011-12-15
  • 打赏
  • 举报
回复
请参考这篇博文:http://blog.csdn.net/luiseradl/article/details/7064916
马甲1 2011-12-15
  • 打赏
  • 举报
回复
怎么你oracle都用了N年了还是这么菜,虽然折腾了一个上午也应该想想是不是因为上午刚装了ODTwithODAC的原因。
product\11.2.0\dbhome_1\network\admin\下的xxx文件拷到product\11.2.0\client_1\network\admin\下就OK了,下次再问这种弱智问题就去死吧。

马甲1 2011-12-15
  • 打赏
  • 举报
回复
端口侦听正常:

C:\>netstat -an

活动连接

协议 本地地址 外部地址 状态
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 0.0.0.0:843 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1521 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1688 0.0.0.0:0 LISTENING
TCP 0.0.0.0:4466 0.0.0.0:0 LISTENING
TCP 0.0.0.0:8909 0.0.0.0:0 LISTENING
TCP 0.0.0.0:49152 0.0.0.0:0 LISTENING
马甲1 2011-12-15
  • 打赏
  • 举报
回复
不等了,结贴,干正事去。
渔舟唱晚, 2011-12-15
  • 打赏
  • 举报
回复

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧