诡异的TNS-12541:TNS:nolistener
诡异的TNS-12541:TNS:nolistener
OS:Microsoft Windows 2003 EnterPrise
Database:Oracle Database EnterPrise 11.2.0.1
内存:1G
2013年8月13日,是个特殊的日子,这天天空很蓝,城市的各个角落飘散着玫瑰花的香味,那是一个令人陶醉的日子,正享其中的时候,突然来了个电话,所有的一切的一切都泡汤了,全无了。
一客户现场工程师打电话过来,说数据库连不上了,监听起不来了,被告知报错TNS-12571:TNS:包写入程序失败,通过查询Metalink文档,让其修改$ORACLE_HOME/network/admin/SQLNET.ora文件,添加SQL.NET.AUTHENTICATION_SERVICES= (NONE),后重启监听,结果无效。
约2个小时后,我来到用户现场;检查发现并没有报TNS-12571错误,而是报的TNS-12541:TNS:nolistener的错误,这个错误很明显就是监听没起来或是无法启动。随即手工起监听程序,结果发现起不来,报TNS-12541错误,应该可以判断是监听配置文件的问题,故检查后重建监听。
更加怪异的是,重建监听也无效,还是报TNS-12541错误,而且启动过程非常慢,随即我查看了硬件配置,和数据库的参数配置,虽然比较低,但也不至于数据库能起来,监听起不来呀,随后检查端口,发现存在1521端口,说明监听是起来的,这个时候,我手工shutdown 数据库,停止数据库所有服务。再次查看,发现还是存在1521的端口在线,开始猜测本机除了数据库还有其它应用在占用着1521端口,随即修改监听默认端口,改为152,再次重启监听,还是一样报TNS-12541:TNS:nolistener;通过查看端口,152端口不存在,确定监听是没有起来的。
这个时候再猜测,估计是内存间通信导致;要正确判断这个问题,就是将相关服务都禁用掉,把服务器重启,再经用户的同意之后,重启服务器,检查当前服务器的存活端口,没有1521端口,这判断1521端口没有被其它自启动软件占用,故再次启动监听,还是报同样错误:TNS-12541:TNS:no listener;这个时候就纳闷了,监听日志大小达到4G,无法打开,当然就无法分析。
但是我注意到一个细节,就是我怎么操作监听服务,listener日志大小都不变,这个时候我将listener.log日志文件剪切到桌面,重新在原目录下创建同名的listener.log文件,并赋予Everyone写入权限,再次启动监听,这个时候没有报错,启动速度非常快。而且这个新建立的listener.log文件也记录监听的启动信息,没有问题;随后将监听端口修改为默认的1521端口,问题未现;重启数据库,监听自动注册。故障排除。
这个问题说明是由于日志太大无法写入导致数据库监听无法正常启动,建议手工定时清空数据库日志文件,以避免此类问题发生。
诡异的TNS-12541:TNS:nolistener的更多相关文章
- TNS-12535: TNS:operation timed out案例解析
一数据库突然连接不上,在自己电脑上使用SQL Developer也连接不上.立即使用SecureCRT连接上了这台服务器,从下面几个方面检查. 1:检查了数据库的状态是否正常 $ sqlplus / ...
- 在64位Win7中使用Navicat Premium 和PL\SQL Developer连接Oracle数据库备忘
最近接手了一个项目,服务器端数据库是oracle 11g 64位.由于主要工作不是开发,也不想在自己的电脑上安装庞大的oracle数据库,因此寻思着只通过数据库管理工具连接数据库进行一些常用的查询操作 ...
- 转:最简单的基于 DirectShow 的视频播放器
50行代码实现的一个最简单的基于 DirectShow 的视频播放器 本文介绍一个最简单的基于 DirectShow 的视频播放器.该播放器对于初学者来说是十分有用的,它包含了使用 DirectSho ...
- nusoap
PHP SOAP服务器 用PHP和NuSoap来建立SOAP服务器非常容易.基本上,你只要写出你想要暴露给你的Web services的函数,然后用NuSoap去注册它们就可以了.OK,另外还需要两步 ...
- WCF - 契约
契约就是双方或多方就某个问题达成的一种的共识 服务提供者通过契约的形式将服务公布出来 服务消费者根据契约来消费 这样通过契约这个中间者就可以规范服务提供的内容 而服务消费者也可以根据契约来使用服务端 ...
- oracle-TNS是什么?
oracle 的 TNS 是什么的缩写?Transparent Network Substrate(透明网络底层,即无论底层的网络层用什么协议对于上层的应用层都是透明的,也即上层的应用层不用关心底层的 ...
- IT该忍者神龟Instant client required
pply OS : Windows, Mac, Linux Apply Navicat Product : Navicat for Oracle, Navicat Premium Apply Navi ...
- C#访问Java的WebService添加SOAPHeader验证的问题
原文:C#访问Java的WebService添加SOAPHeader验证的问题 这两天做与公司OA的接口,发现C#访问Java的WebService需要提供一个SOAP的头验证信息,但是WebServ ...
- 使用Navicat Premium 和PL\SQL Developer连接Oracl
在64位Win7中使用Navicat Premium 和PL\SQL Developer连接Oracle数据库备忘 最近接手了一个项目,服务器端数据库是oracle 11g 64位.由于主要工作不 ...
- 物化视图(materialized view) 实现数据迁移、数据定时同步
近日公司有一个9i 的Oracle数据库,运行效率低下.想要将其升级到11G. 但是升级之前 要将数据进行同步,好在表不是很多.只有三张表.业务压力也不大,就想到了使用物 化视图的方式将数据同步过来. ...
随机推荐
- ccui.ScrollView 扩展
大多数游戏都有背包这个东西. 道具列表通常用 ScrollView 来实现. 这个ScrollView内部有一个Layout, 滑动都是由移动这个Layout来实现. 道具摆放通常从上往下, 从左到右 ...
- Struts2中使用execAndWait后,在 Action中调用getXXX()方法报告java.lang.NullPointerException异常的原因和解决方法
使用 Struts2 编写页面,遇到一个要长时间运行的接口,因此增加了一个execAndWait ,结果在 Action 中调用 getContext()的时候报告异常 ActionContext c ...
- underscorejs-toArray学习
2.23 toArray 2.23.1 语法: _.toArray(list) 2.23.2 说明: 把list(任何可以迭代的对象)转换成一个数组,在转换arguments对象时非常有用. 2.23 ...
- Why Doesn’t Drag-and-Drop work when my Application is Running Elevated? – A: Mandatory Integrity Control and UIPI(转载)
f you run notepad elevated (Right click | Run as Administrator), and you try and drag-and-drop a fil ...
- Python Tutorial 学习(一)--Whetting Your Appetite
Whetting Your Appetite [吊你的胃口]... 这里就直接原文奉上了... If you do much work on computers, eventually you fin ...
- 已安装好的tengine编译添加未被安装的模块
nginx -V 可以查看原来编译时都带了哪些参数 原来的参数: --prefix=/usr/local/tengine 需添加的参数: --with-http_stub_status_module ...
- EasyUI篇のico
所有图标位置: /themes/icons css引用位置: /themes/icon.css 可自行添加16*16的小图片放在icons中,icon.css代码添加即可 例如: .icon-logo ...
- 【Java】在Eclipse中使用JUnit4进行单元测试(初级篇)
本文绝大部分内容引自这篇文章: http://www.devx.com/Java/Article/31983/0/page/1 我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能 ...
- Maven的常用命令
转载:http://www.cnblogs.com/phoebus0501/archive/2011/05/10/2042511.html Maven库: http://repo2.maven.org ...
- 吉哥系列故事――临时工计划(dp)
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Descr ...