文档章节

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

rootliu
 rootliu
发布于 2017/08/18 09:25
字数 1075
阅读 9
收藏 0
点赞 0
评论 0

问题场景:昌平的服务器修改了静态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错误,也有可能是其他错误引起的,所以还是需要检查各种东东才能准确错误并及时修改啊。

本文转载自:http://blog.sina.com.cn/s/blog_60b8e4e501069rub.html

共有 人打赏支持
rootliu
粉丝 2
博文 233
码字总数 2796
作品 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
06/19
0
0
ora 12518 监听程序无法分发给客户机连接如何解决??

ora 12518 监听程序无法分发给客户机连接如何解决??

空指针
2012/09/10
1K
6
【故障|监听】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
06/29
0
0
连接Oracle时报错ORA-12541: TNS: 无监听程序

遇到的问题:安装Oracle是,默认的安装方式先决条件检查通过不了,然后选择管理员安装,跳过更新,安装好了之后,用plsql登录连接,返回两种报错,ORA-12541: TNS: 无监听程序;另一种是ORA...

IT-Mamba
2016/12/06
139
0
Oracle数据库服务中常见的6个错误

没有人会否认Oracle是全球最有影响的数据库产品之一;不过好的东西似乎总不是那么好用(初看起来如此),甚至有些无情--总会给layman们一个个无情的错误号。下面是我个人的总结,条条有用,希望...

founder
2011/02/25
116
1
PLSQL Developer的安装和使用

一、软件安装 1、 准备安装。 安装文件总共有三个,如下图所示: 2、 安装PLSQL Developer的软件。 1>双击安装文件plsqldev803.exe文件,进入安装阶段: 点击“确定”。 2>点击“I Agree”。...

测试-雨
2015/01/03
0
0
ORA-12514:TNS 监听问题

解决问题:ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 测试环境:RedHat7.4 + Oracle 11g 64位 相关说明: 数据库服务器: Oracle11g 64位软件的安装位置为/u01/app/oracle/p...

ling118
02/09
0
0
ORACLE windows下启动(转)

-总结启动命令如下: lsnrctl [start|stop|status] --启动监听器,停止监听器,查看监听器的状态; net [start|stop] oracleserviceorcl 一、独立启动: Microsoft Windows 2000 [Versio...

hulubo
2012/04/12
0
0
Oracle常见故障——Listener类:Hang、Crash及连接风暴的判断

目录 监听状态正常,应用反馈时断时连 Listener进程crash ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 11G SCAN LISTENER无法注册服务故障 Listener hang TNS-12535 TNS-00505处...

杨志洪 胡杰
2015/12/23
0
0
Oracle 11g下TNS连接报错ora-12532故障解决

TNS连接错误是Oracle用户经常遇到的问题。在实际工作中,由于用户终端环境的复杂,各种TNS连接问题经常困扰日常用户。操作系统版本问题、客户端服务器双重安装、多版本客户端安装、本地环境变...

青夜之衫
2017/12/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

springboot常用注解

@SpringBootApplication: 包含@Configuration、@EnableAutoConfiguration、@ComponentScan 通常用在主类上。 @Service: 用于标注业务层组件。 @RestController: 用于标注控制层组件(如strut...

GoldenVein
13分钟前
0
0
梯度下降法求多元线性回归及Java实现

对于数据分析而言,我们总是极力找数学模型来描述数据发生的规律, 有的数据我们在二维空间就可以描述,有的数据则需要映射到更高维的空间。数据表现出来的分布可能是完全离散的,也可能是聚...

冷血狂魔
18分钟前
2
0
如何进行大数据的入门级学习?

不知道你是计算机专业应届生还是已经从业者。总之,有java基础的学生学习大数据会轻松很多,零基础的小白都需要从java和linux学起。 如果你是一个学习能力特别强,而且自律性也很强的人的话可...

董黎明
27分钟前
0
0
使用Parcelable传递复杂参数

最近做AIDL传递对象,对象必须实现Parcelable的方法才可以被传递。 @Override    public int describeContents() {//这个 默认返回0就行了。        return 0;    }    ...

火云
28分钟前
0
0
十大Intellij IDEA快捷键

Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论。每个人都有自己的最爱,想排出个理想的榜单还真是困难。以前也整理过Intellij的快捷键,这次就按照我日常开发...

HJCui
38分钟前
0
0
word 使用mathtype 编写 数学公式

下载安装,这个链接命名。。。。 http://www.mathtype.cn/xiazai.html 安装之后会多出一个选项 使用内联方式插入图表 编写公式的界面 设置支持latex 语法 输入公式回车就可以看到结果...

阿豪boy
56分钟前
0
0
Promise

定义 Promise是异步编程的一种解决方案,所谓Promise就是一个容器,里面保存着某个未来才会结束的事件(通常是一个一步操作)的结果。 特点: 2.1 对象的状态不受外界影响,三种状态pending...

litCabbage
今天
1
0
设计模式:适配器模式

说明:在不改变旧接口代码的前提下,为该接口新增其他接口的功能 适配器模式可以分为:类适配器模式、对象适配器模式、接口适配器模式 前两种模式下,我会以播放器为例。老版的播放器(Playe...

人觉非常君
今天
0
0
使用VsCode搭建Java开发环境,创建springboot应用

1、在 Visual Studio Code 中打开扩展视图(Ctrl+Shift+X),输入关键词java、spring分别下载Java开发插件包和springboot插件包 2、配置参数 点击设置按钮,进入设置选项,配置用户设置 在用户...

qsyan
今天
24
0
调教属于你的“贾维斯”(给自己挖了一个很大的坑)

今天玩一下现在很火的人工智能。 废话不多说,先来看几张图: 看出什么蹊跷了吗? 再来看一个视频: https://www.zhihu.com/video/1002567561061511168 (演示网址和代码见文末) 人工智能离...

crossin
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部