TNS-12541: TNS: 无监听程序 TNS-12560: TNS: 协议适配器错误
发表于:2024-10-25 作者:千家信息网编辑
千家信息网最后更新 2024年10月25日,一、环境描述:OS : Windows Server 2008 32BitDB : 11.2.0二、排错过程:前天应用不能访问数据库了 (后台应用能访问数据库),故障发生。马上登录到服务器里查看监听状
千家信息网最后更新 2024年10月25日TNS-12541: TNS: 无监听程序 TNS-12560: TNS: 协议适配器错误
一、环境描述:
OS : Windows Server 2008 32Bit
DB : 11.2.0
二、排错过程:
前天应用不能访问数据库了 (后台应用能访问数据库),故障发生。
马上登录到服务器里查看监听状态,发现有TNS-12541 ,TNS-12560等错误
手动把监听服务启动,这时候服务状态上显示为已启动,但在CMD窗口执行lsnrctl status的时候依然返回错误信息:
C:\>lsnrctl statusLSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 13-2月 -2018 10:39:47Copyright (c) 1991, 2010, Oracle. All rights reserved.正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=john-PC)(PORT=TNS-12541: TNS: 无监听程序 TNS-12560: TNS: 协议适配器错误 TNS-00511: 无监听程序 32-bit Windows Error: 61: Unknown error正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))过段时间回显非常慢。
三、解决方案步骤
**网上有个解决TNS-12535错误的案例,平台和版本都很类似,如下:
1、在 sqlnet.ora文件中 增加如下行:
DIAG_ADR_ENABLED = OFF
2、在listener.ora文件中增加如下行:
DIAG_ADR_ENABLED_ = OFF如果监听是listener时,则前面的名称为:DIAG_ADR_ENABLED_LISTENER = OFF
3、重新启动windows服务管理中的监听程序.先停止,然后再重新启动.
4、检查结果.发现可以了,返回的值在10毫秒.有时为0毫秒.成功!!
但这并不是问题发生原因,在继续排查过程中偶然发现监听日志大小居然为4G。
Oracle一个BUG,BUG号为9879101 : THE CONNECT THROUGH LISTENER WAS SLOW WHEN LISTNER LOG GROWED 4GB。
有MOS上一篇文章,ID 1319797.1 : WINDOWS: Listener Hangs & Lsnrctl Commands Are Slow or Hang,里面给出了解决方法:
You can solve this problem by deleting the large listener in $ORACLE_BASE\diag\tnslsnr\\listener\trace\.log1) Stop the listener process using the command line or Control Panel Service.2) Delete the log file(s) that are at or approaching the 4G size limit at this location:$ORACLE_BASE\diag\tnslsnr\\listener\trace\.log3) Issue any lsnrctl command and you will see a new listener.log in its place under:$ORACLE_BASE\diag\tnslsnr\\listener\trace\Since ADR Diagnostics are enabled for this listener these steps cannot be done dynamically using the lsnrctl utility. e.g.LSNRCTL>set log_file mylogWill yield: TNS-01251: Cannot set trace/log directory under ADR.However, it is possible to disable the flat file listener logging using the following commands:LSNRCTL>set current_listener LSNRCTL>set log_status OFFLSNRCTL>save_config
5、按照以上说明如下进行:
1)LSNRCTL进入交互模式
2)set log_file mylog
3)执行set current_listener LISTENER
4)set log_status off
5)save_config
6)stop 停止监听器
7)手工删除ADR指定的监听日志路径下的listener.log文件
8)start重启监听器
9)status查看状态
到此问题解决。
监听
错误
服务
程序
文件
状态
数据
数据库
日志
正在
监听器
过程
问题
应用
适配器
适配
成功
信息
原因
名称
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器硬盘同时闪两个灯
铝材软件开发
golang数据库并发读写
固网usb打印服务器
包头联通服务器地址
oracle数据库锁死
网络安全态势感知模型研究
企业数据库实时动态安全
信息论与编码和网络安全的关系
自建网络书签服务器
南平网络安全教育作业
网络安全好学么
网络技术运用电子书
易县筑梦网络技术
原材料数据库
mysql更换数据库名
ssh远程管理服务器
三五互联网络科技有限公司
战舰世界服务器无法登录
dw连接php数据库
查询数据库表内容代码
锐捷网络安全产品事业部
张家港 软件开发
软件开发 开发成本
公安网络安全六个一律
西安云鸟互联网科技有限公司好吗
数据库中怎么给表添加元组
江苏子乐互联网科技有限公司
删除数据库中所有表
计算机网络技术聚飞专班