您的位置:首页 > 其它

20120326——“TNS-12541: TNS:无监听器”&ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

2012-03-26 11:24 274 查看
---- TNS-12541 begin -----

这个问题大家应该常遇到。今天我也遇到了,网上搜了一下 。我出现的问题,是本机PL/SQL 连接没有问题,但是 远程就连接不上。

问题解决:

listener.ora 文件中

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) 改为IP 就可以了。

网上的解决方式:

1, ping xxx.xxx.xxx.xxx 看Ip通不

2,netstat -an 看端口1521或者其他凯没有

3, LSNRCTL.EXE status 看监听器的状态,可以重新设置监听器

4,tnsping oracleservicename 看服务配置正确不
加上一条,我的算第五条吧,用排除法一个一个来弄了。

参考 :http://topic.csdn.net/t/20060310/11/4605467.html

---- TNS-12541 end-----

---- ORA-12514 begin ----

下午,一个同事从公司借的笔记本上面的Oracle数据库出现连接不上的问题,一直报:

ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

从字面判断是监听器的错误,于是重新配置了监听器,重启监控器服务,还是不能解决问题。
最后与正常的Oracle机上的listener.ora比较了一下,比对结果如下:

非正常Oracle配置:
SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(PROGRAM = extproc)

(SID_NAME = PLSExtProc)

(ORACLE_HOME = E:\Server\oracle\product\10.2.0\db_1)

)

)

正常Oracle配置
SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = ORCL)

(ORACLE_HOME = E:\Server\oracle\product\10.2.0\db_1)

(SID_NAME = ORCL)

)

(SID_DESC =

(PROGRAM = extproc)

(SID_NAME = PLSExtProc)

(ORACLE_HOME = E:\Server\oracle\product\10.2.0\db_1)

)

)

上面已经用红色字体标示出来了,同事机器上的监听器配置文件中,SID列表中没有本地数据库配置。于是将数据库添加到SID列表中,重启监听器,一切正常喽。

---- ORA-12514 end-----
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐