诡异的TNS-12541:TNS:nolistener

更加怪异的是,重建监听也无效,还是报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端口,问题未现;重启数据库,监听自动注册。故障排除。

这个问题说明是由于日志太大无法写入导致数据库监听无法正常启动,建议手工定时清空数据库日志文件,以避免此类问题发生。

时间: 2024-10-13 02:32:29

诡异的TNS-12541:TNS:nolistener的相关文章

TNS-12535: TNS:operation timed out案例解析

一数据库突然连接不上,在自己电脑上使用SQL Developer也连接不上.立即使用SecureCRT连接上了这台服务器,从下面几个方面检查. 1:检查了数据库的状态是否正常 $ sqlplus / as sysdba   SQL*Plus: Release 10.2.0.5.0 - Production on Mon May 16 11:07:55 2016   Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.     Connec

Oracle 11g数据库详解(2015-1-18更新)

Oracle 11g数据库详解 整理者:高压锅 QQ:280604597 Email:[email protected] 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的 1   简介 数据库操作主要有以下几步: 1.  启动.停止数据库 2.  连接.断开数据库 3.  创建.修改.删除数据库用户 4.  表空间 5.  新建.修改.删除表 6.  查询.插入.修改.删除表数据 7.  新建.修改.删除视图 8.  新建.修改.删除存储过程 9.  新建.修改.删除触发

Oracle 11g数据库详解(2015-02-28更新)

Oracle 11g数据库详解 整理者:高压锅 QQ:280604597 Email:[email protected] 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的 1   简介 数据库操作主要有以下几步: 1.  启动.停止数据库 2.  连接.断开数据库 3.  创建.修改.删除数据库用户 4.  表空间 5.  新建.修改.删除表 6.  查询.插入.修改.删除表数据 7.  新建.修改.删除视图 8.  新建.修改.删除存储过程 9.  新建.修改.删除触发

极简ProC连接TimesTen程序

TimesTen也支持Pro*C接口,从编程的角度来看,除了连接字符串的指定外,其它和针对Oracle的开发几乎一样. Pro*C程序连接TimesTen的框架 我们先来看一下Pro*C程序连接TimesTen的框架: int main(int argc, char** argv) { // 连接数据库,可以用以下三种方法之一 // 法一 EXEC SQL CONNECT :user IDENTIFIED BY :pass USING :svc; // 法二 EXEC SQL CONNECT :

使用Python将sql文件刷入DB

Python学习第二弹 #coding = UTF-8 import os, sys, time, shutil class NdbFlush:     def __init__(self):         self._ROOT_PATH_ = None         self._TNS_LIST_ = {}         self._FILE_LIST_ = {} # {SCHEMA:{'TAB':[], 'SEQ':[], 'PKGH':[]}, SCHEMA:{...}, ...}

在64位Win7中使用Navicat Premium 和PL\SQL Developer连接Oracle数据库备忘

最近接手了一个项目,服务器端数据库是oracle 11g 64位.由于主要工作不是开发,也不想在自己的电脑上安装庞大的oracle数据库,因此寻思着只通过数据库管理工具连接数据库进行一些常用的查询操作. 运行环境 服务器:windows server 2008 64位 服务器oracle版本:oracle 11g R2 64位,字符集是ZHS16GBK. 本机:windows 7 64位 需要准备的软件 1.Instant Client 12.1.0.2.0 32位和64位 Instant Cl

C#访问Java的WebService添加SOAPHeader验证的问题

这两天做与公司OA的接口,发现C#访问Java的WebService需要提供一个SOAP的头验证信息,但是WebService的WSDL中并没有提供约定的验证信息,所以Visual Studio生成的代理类并没有发现这些内容,所以这个SOAPHeader就必须要自己组织,还遇到一个问题就是SOAP头部信息,OA那边还按照不知道什么实例添加了一个根节点没有的命名空间,这就致使SOAPHeader内容一直报传输错误,废话不多说,上两个阶段的示例. 首先,要创建一个继承自System.Web.Serv

AU13笔记

1,新建用户默认不建立用户的家目录,不建立用户家目录时用户家目录默认在/home/guest,如果用户需要自己的家目录则: useradd -m -[g,G] user -g 指定用户组 -G 指定多个用户组,中间用","隔开 改变用户的属性:smit chuser 如:smit chuser Oracle 查看用户限制:cat /etc/security 修改用户限制: 修改主机名: 查看网络接口的ip信息: 查看主机的路由表信息: 在aix中的netstat -v = Linux的

oracle-TNS是什么?

oracle 的 TNS 是什么的缩写?Transparent Network Substrate(透明网络底层,即无论底层的网络层用什么协议对于上层的应用层都是透明的,也即上层的应用层不用关心底层的网络层使用了什么协议,也即上层的应用层使用的统一调用接口已经屏蔽了不同协议给调用带来的差异了.)tns adapter TNS协议是ORACLE服务端和客户端通讯的协议.TNS协议传输可以使用TCP/IP协议.使用SSL的TCP/IP协议.命名管道和IPC协议传输,其中TCP/IP协议传输是使用明文

使用Navicat Premium 和PL\SQL Developer连接Oracl

在64位Win7中使用Navicat Premium 和PL\SQL Developer连接Oracle数据库备忘 最近接手了一个项目,服务器端数据库是oracle 11g 64位.由于主要工作不是开发,也不想在自己的电脑上安装庞大的oracle数据库,因此寻思着只通过数据库管理工具连接数据库进行一些常用的查询操作. 运行环境 服务器:windows server 2008 64位 服务器oracle版本:oracle 11g R2 64位,字符集是ZHS16GBK. 本机:windows 7