文档章节

关于“ORA-12518: TNS: 监听程序无法分发客户机连接”的一种解决方法

rootliu
 rootliu
发布于 2017/08/18 09:25
字数 1075
阅读 123
收藏 0

精选30+云产品,助力企业轻松上云!>>>

问题场景:昌平的服务器修改了静态ip,并重启了几次机器,后来在实验室通过远程桌面访问oracle数据库,发现sql developer无法连接数据库,报错“TNS:监听程序无法分发客户机连接”。之后进入windows server 2008服务器的服务,查看oracle的服务除了实例没有启动外,其他都正常,试图启动OracleService***实例后报错“错误1053:服务并未及时响应启动或控制请求”。试图用sqlplus开启数据库,却发现无法登陆,报错“协议适配器不匹配”,在Oracle Net Manager中测试服务仍然报错“TNS:监听程序无法分发客户机连接”。

考虑可能引起问题的地方有几点:1.服务器修改ip后导致监听失效。2.服务器实例无法启动导致报错。3.上述报错内容涉及到的细节问题。

解决方法:

1.查看listen.ora和tnsnames.ora文件内容(%ORACLE_HOME%/NETWORK/ADMIN目录下):

修改ip可能会引起监听出现问题,查看并修改这两个文件中涉及到的HOST内容,是否为主机名或正确ip地址。

2.查看“ORA-12518:TNS:监听程序无法分发客户机连接”(“ORA-12518:TNS listener could not hand off client connection”)错误原因:

产生这个错误的原因有很多,大多数问题来自于内存不够用。检查%ORACLE_BASE%/diag/tnslsnr/主机名/listener/alert 文件中的log日志,查看错误原因是什么(查看之前最好重现下错误,然后再查会比较方便)。例如我的问题是:

TNS-12518: TNS:listener could not hand off client connection

TNS-12560: TNS:protocol adapter error
   TNS-00530: Protocol adapter error
    32-bit Windows Error: 233: Unknown error

根据错误原因,查看这篇日志:http://blog.sina.com.cn/s/blog_53a1165e0100nisv.html 里面把错误原因在linux和windows出现的情况分别进行了列举,虽然是英文的吧,但是错误原因覆盖的很广,大家可以根据自己的问题出在哪儿来进行有针对的修改。12518这个错误产生的原因很多,网上搜到的一般只是针对特定问题的解决,可能没有那个全面。如果你查到是因为自己内存太小导致的问题,可以查看这篇日志:http://blog.sina.com.cn/s/blog_5904ea280100g614.html 的解决方案。

3. 查看“错误1053:服务并未及时响应启动或控制请求”错误原因:

服务器只装了oracle,也没有开启任何软件,不可能出现内存太小的问题,上述内容并没有帮我解决问题,于是我对另一个问题进行了调查,看看是不是因为这个问题而导致的连锁反应。

首先是百度告知的一个简单方法:http://zhidao.baidu.com/question/118588548.html

试了仍然不成功,则查看第二个方法:http://topic.csdn.net/u/20070322/09/23e755dd-19b8-47b8-9418-b9384abf6311.html 第5、6楼qingdou的回复,尝试重建监听仍然失败。

又查到一个解决方法,即重建监听不成就重建实例,在cmd下调用oradim命令创建了一个新的实例,然后调用oradim命令中的方法启动服务和实例,然后奇迹就出现了,我发现sqlplus可以登录了。登录sqlplus之后使用startup命令启动了数据库后,windows server “服务”中的OracleService***实例也可以正常启动了,然后再用sql developer就能够连接到数据库而没有12518的错误了。

总结:总的来说还是数据库实例没能启动而导致的一系列错误,虽然绕了弯路花了两天才搞定,不过也算有收获。12518的错误可能出现的情况太多,网上给的方法基本上都不详细,这个错误还是需要按照上面我写的内容一步一步的自己去定位错误具体原因才能找到错误根源。即便出现了12518错误,也有可能是其他错误引起的,所以还是需要检查各种东东才能准确错误并及时修改啊。

rootliu
粉丝 7
博文 436
码字总数 3022
作品 0
海淀
数据库管理员
私信 提问
加载中
请先登录后再评论。
ORA-12537 TNS-12560 TNS-00530 ora-609解决

oracle 11g不能连接,卡住,ORA-12537 TNS-12560 TNS-00530 TNS-12502 tns-12505 ora-609 Windows Error: 54: Unknown error 解决方案。 今天折腾了一下午,为了查这个问题。。找了N多方案,...

lanybass
2018/06/19
312
0
ORA-12541:TNS-12560:ORA-12518:ORA-28040:ORA-01017

说明 #####环境(参考): #####后续出现的错误代码: ORA-12541: no listener TNS-12560:协议适配器错误 TNS-00530:协议适配器错误 ORA-12518 ORA-12514 ORA-28040:没有匹配的验证协议 ORA-01...

osc_k0sclxgn
2018/06/14
9
0
oracle:TNS:监听程序无法分发客户机连接

挂上vpn的时候,PL/SQL连接到oracle的时候,显示ORA-12518:监听程序无法分发客户机连接。如下图: 一、【问题描述】 最近,在系统高峰期的时候,会提示如上的错误,致使无法连接到服务器上的...

osc_994n5tsc
2018/12/18
12
0
ORA-12518 TNSlistener could not hand off client connection

ORA-12518: TNS:listener could not hand off client connection 2008-06-23 08:57 ORA-12518: TNS:listener could not hand off client connection Cause: The process of handing off a cl......

Saber_1210
2018/03/28
13
0
【故障|监听】TNS-12518、TNS-00517和 Linux Error:32:Broken pipe

【故障|监听】TNS-12518、TNS-00517和 Linux Error:32:Broken pipe 1.1 BLOG文档结构图 1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到...

小麦苗best
2018/06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【题解】p6160 [Cnoi2020]向量

原题传送门 序 啊又是勤奋学习的一天...... 这种mo题目能做出来纯靠感觉。 样例分析 样例输入给了组3、4、5的勾股数,而输出正好是三向量加和为0时的答案。 嗯我好像感觉到了什么...... 于是...

osc_4dady4pk
9分钟前
0
0
【题解】p6160 [Cnoi2020]向量

原题传送门 序 啊又是勤奋学习的一天...... 这种mo题目能做出来纯靠感觉。 样例分析 样例输入给了组3、4、5的勾股数,而输出正好是三向量加和为0时的答案。 嗯我好像感觉到了什么...... 于是...

osc_a7a1prn6
10分钟前
0
0
FreeSql (一)入门

FreeSql是一个功能强大的 .NET ORM 功能库,支持 .NetFramework 4.0+、.NetCore 2.1+、Xamarin 等支持 NetStandard 所有运行平台。(QQ群:4336577) 模型 FreeSql 使用模型执行数据访问,模...

osc_smzoc82r
11分钟前
12
0
TCP协议粘包问题详解

TCP协议粘包问题详解 前言   在本章节中,我们将探讨TCP协议基于流式传输的最大一个问题,即粘包问题。本章主要介绍TCP粘包的原理与其三种解决粘包的方案。并且还会介绍为什么UDP协议不会产...

osc_tjnx25e9
14分钟前
0
0
Ubuntu16.04密码正确 进不去桌面系统(已测试恢复正常)

遇到过两次ubuntu输入密码正确,但是进不去系统,输入密码后,跳转到一下界面 之后又返回到登陆界面,一直这样循环输入密码。 Guest用户可以。 解决办法:   1。进入tty下 :ctrl+alt+F1(F...

osc_lfbryx1h
15分钟前
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部