[Ora]TNS-12537报错解决方法
2015-11-28 19:49
260 查看
今天公司因为服务器迁移,需要将数据库暂时关闭,等迁移完后,启动服务器,打开数据库正常,但是使用客户端连接数据库时,
总是提示TNS-12537:连接关闭,首先想到的是使用tnsping,测试一下数据库的连通状况,结果连不上,
首先想到的是去服务器查一下log日志,结果如下
***********************************************************************
Fatal NI connect error 12537, connecting to:
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521))(CONNECT_DATA=(SID=dd)(CID=(PROGRAM=emagent)(HOST=oracle)(USER=oracle))))
VERSION INFORMATION:
TNS for Linux: Version 11.2.0.4.0 - Production
TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.4.0 - Production
Time: 28-NOV-2015 10:55:51
Tracing not turned on.
Tns error struct:
ns main err code: 12537
TNS-12537: TNS:connection closed
ns secondary err code: 12560
nt main err code: 507
TNS-00507: Connection closed
nt secondary err code: 0
网上大概搜索了下,发现大多数的影响因素都被排除,但是问题都没解决。
无意中检查了一下hostname,发现hostname被修改了,
发现问题后,解决起来就很简单了,直接hostname oracle ,然后再/etc/sysconfig/network中修改主机名为oracle即可,重新启动oracle和监听以后,一切正常。
造成的原因很简单因为在厂商安装服务器系统时,系统的主机名为localhost.domain,而安装数据库时直接hostname oracle修改,并没有在/etc/sysconfig/network中修改,从而导致服务器重启后,服务器的主机名直接被还原。
总结:错误解决很简单,但是造成原因很难捕捉到,当然TNS-12537错误还是有很多其他原因,这里只提供一种解决的场景,仅供参考。
总是提示TNS-12537:连接关闭,首先想到的是使用tnsping,测试一下数据库的连通状况,结果连不上,
首先想到的是去服务器查一下log日志,结果如下
***********************************************************************
Fatal NI connect error 12537, connecting to:
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521))(CONNECT_DATA=(SID=dd)(CID=(PROGRAM=emagent)(HOST=oracle)(USER=oracle))))
VERSION INFORMATION:
TNS for Linux: Version 11.2.0.4.0 - Production
TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.4.0 - Production
Time: 28-NOV-2015 10:55:51
Tracing not turned on.
Tns error struct:
ns main err code: 12537
TNS-12537: TNS:connection closed
ns secondary err code: 12560
nt main err code: 507
TNS-00507: Connection closed
nt secondary err code: 0
网上大概搜索了下,发现大多数的影响因素都被排除,但是问题都没解决。
无意中检查了一下hostname,发现hostname被修改了,
发现问题后,解决起来就很简单了,直接hostname oracle ,然后再/etc/sysconfig/network中修改主机名为oracle即可,重新启动oracle和监听以后,一切正常。
造成的原因很简单因为在厂商安装服务器系统时,系统的主机名为localhost.domain,而安装数据库时直接hostname oracle修改,并没有在/etc/sysconfig/network中修改,从而导致服务器重启后,服务器的主机名直接被还原。
总结:错误解决很简单,但是造成原因很难捕捉到,当然TNS-12537错误还是有很多其他原因,这里只提供一种解决的场景,仅供参考。
相关文章推荐
- java中静态方法与实例方法的区别
- c#socket
- 信息安全系统设计基础实验四:外设驱动程序设计
- Stack Overflow 上人气最旺的 10 个 Java 问题
- 配置openmesh总是出现error LNK2019: 无法解析的外部符号此类问题的解决办法
- 阿里数据挖掘比赛总结
- Hadoop 2.6.0动态添加节点
- Hadoop 2.6.0动态添加节点
- Spring整合Struts2 wel.xml中写spring核心配置文件路径问题,顺便总结下我学习SSH整合的过程
- app创建技巧
- 【UML学习】UML的基本构成
- 初识HTML
- mysql
- 数据结构-哈夫曼树
- Windows程序==>>使用ListView控件展示数据
- JavaFX入门(一):我的第一个JavaFX程序
- nodejs学习1---基础知识
- metasploit基础
- ZooKeeper3.4.6配置
- ZooKeeper3.4.6配置