日期:2014-05-17  浏览次数:20940 次

Oracle10G:ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务:?网上搜了一堆,全是说listener.ora文件中有问题,但我怎么也没整好?
ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务。

网上搜了一堆,全是说listener.ora文件中有问题,但我怎么也没整好?
如这个网址:http://www.itpub.net/800167,1.html说将这个文件删除就可以。

如http://www.gzitech.com/tech/list.asp?id=129说将listener.ora文件修改成如下就可以
 SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORACLE)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = ORACLE)
)
)

对这个文件的方法试了都没起作用?
请问问题在哪里?

------解决方案--------------------
你的sid是什么?
给你看我的listener.ora做参考

# listener.ora Network Configuration File: d:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = MYHOSTNAME)(PORT = 1521))
)
)
------解决方案--------------------
另外检查一下客户端的本地服务名配置tnsnames.ora
------解决方案--------------------
SID_LIST_LISTENER 注:行首不能有空格

------解决方案--------------------
我以前碰到过是因为磁盘空间满了,导致不能用的(只是其中的一种情况吧,不好意思)
------解决方案--------------------

LZ 也没说清楚 在什么情况下 出现的什么问题. 

出现ORA-12514 的情况有很多

不要乱改 用netca 自动写进去的文件 就是一定好用的......

lsnrctl status 
看看监听 是否正常 service 的名字是否正确


------解决方案--------------------
无法识别连接描述符中请求的服务。
=============================
看一下本地的 tnsnames.ora 中请求的 service name 是不是和数据库服务名一致。
------解决方案--------------------
注意版本,9I以上版本不支持7及以下版本的互连,我就碰到过,这种情况.
------解决方案--------------------
偶有一个类似问题:

服务器端和其它客户端都是可以的。Net Manager 测试成功,Tnsping 也没问题。但是sqlplus 报12514无法解析,XP客户端。

C:\Documents and Settings\IBM>tnsping ifstest

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 25-8月 -
2008 14:00:44

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

已使用的参数文件:
D:\oracle\product\10.2.0\client_2_2\network\admin\sqlnet.ora


已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 10.10.2.60)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = TEST)))
OK (20 毫秒)


C:\Documents and Settings\IBM>sqlplus ifsapp/ifsapp@ifstest

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Aug 25 14:03:18 2008

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

ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified

tnsnames.ora:
IFSTEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.2.60)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TEST)
)
)

sqlnet.ora:

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES)


------解决方案--------------------
注意把计算机名改为和listener.ora内的host_name一样.