监听启动缓慢问题分析
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,执行监听启动操作,会hang起来一段时间,最终监听启动成功 [oracle@sky-oel7 ~]$ lsnrctl startConnecting to (DESCRIPTION=(ADDRESS=
千家信息网最后更新 2025年11月08日监听启动缓慢问题分析执行监听启动操作,会hang起来一段时间,最终监听启动成功 [oracle@sky-oel7 ~]$ lsnrctl start
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sky-oel7)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production Start Date 12-JAN-2016 16:42:57 Uptime 0 days 0 hr. 0 min. 40 sec
启动耗时40秒。
指定监听的日志等级为16 [oracle@sky-oel7 trace]$ cat /oracle/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora # listener.ora Network Configuration File: /oracle/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora # Generated by Oracle configuration tools.
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = sky-oel7)(PORT = 1521)) ) )
TRACE_LEVEL_LISTENER=16
重新启动监听程序,日志 [oracle@sky-oel7 trace]$ tail -f listener.log
Log messages written to /oracle/app/oracle/diag/tnslsnr/sky-oel7/listener/alert/log.xml Trace information written to /oracle/app/oracle/diag/tnslsnr/sky-oel7/listener/trace/ora_4179_140717186082304.trc Trace level is currently 16
Started with pid=4179 Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sky-oel7)(PORT=1521)))
TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE WARNING: Subscription for node down event still pending 12-JAN-2016 16:10:14 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=sky-oel7)(USER=oracle))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=202375680)) * status * 0
[oracle@sky-oel7 admin]$ vi /oracle/app/oracle/diag/tnslsnr/sky-oel7/listener/trace/ora_4179_140717186082304.trc
2016-01-12 16:09:34.211259 : nttcnp:binding an address to a socket. 2016-01-12 16:09:34.211275 : nttcnp:listening on a bound socket (queue size = 128). 2016-01-12 16:09:34.211324 : nttcnp:getting sockname 2016-01-12 16:09:34.211342 : nttcnp:getting peername 2016-01-12 16:09:34.211355 : nttcnp:exit 2016-01-12 16:09:34.211368 : snlinGetAddrInfo:entry 2016-01-12 16:10:14.256096 : snlinGetAddrInfo:getaddrinfo() failed with error -3 2016-01-12 16:10:14.256193 : snlinGetAddrInfo:exit 2016-01-12 16:10:14.256215 : nttcon:exit 2016-01-12 16:10:14.256241 : nsopen:transport is open 2016-01-12 16:10:14.256261 : nsoptions:entry
没有更多的可用信息。
通过strace进行进程启动信息分析 [oracle@sky-oel7 ~]$ strace -f -t -o ~/listener.trc lsnrctl start
查看strace日志信息 5042 16:42:57 socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 13 5042 16:42:57 connect(13, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("172.24.97.1")}, 16) = 0 5042 16:42:57 poll([{fd=13, events=POLLOUT}], 1, 0) = 1 ([{fd=13, revents=POLLOUT}]) 5042 16:42:57 sendto(13, ":\26\1\0\0\1\0\0\0\0\0\0\10sky-oel7\tworkgroup\0"..., 36, MSG_NOSIGNAL, NULL, 0) = 36 5042 16:42:57 poll([{fd=13, events=POLLIN}], 1, 5000) = 0 (Timeout)
5042 16:43:02 socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 14 5042 16:43:02 connect(14, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.191.1")}, 16) = 0 5042 16:43:02 poll([{fd=14, events=POLLOUT}], 1, 0) = 1 ([{fd=14, revents=POLLOUT}]) 5042 16:43:02 sendto(14, ":\26\1\0\0\1\0\0\0\0\0\0\10sky-oel7\tworkgroup\0"..., 36, MSG_NOSIGNAL, NULL, 0) = 36 5042 16:43:02 poll([{fd=14, events=POLLIN}], 1, 5000) = 0 (Timeout)
上面的信息看出,是由于地址解析失败造成网络超时。
这些地址信息,可以通过DNS配置文件查找到 [root@sky-oel7 ~]# cat /etc/resolv.conf # Generated by NetworkManager search workgroup nameserver 172.24.97.1 nameserver 192.168.191.1
屏蔽这些地址后,listener启动正常。
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sky-oel7)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production Start Date 12-JAN-2016 16:42:57 Uptime 0 days 0 hr. 0 min. 40 sec
启动耗时40秒。
指定监听的日志等级为16 [oracle@sky-oel7 trace]$ cat /oracle/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora # listener.ora Network Configuration File: /oracle/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora # Generated by Oracle configuration tools.
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = sky-oel7)(PORT = 1521)) ) )
TRACE_LEVEL_LISTENER=16
重新启动监听程序,日志 [oracle@sky-oel7 trace]$ tail -f listener.log
Log messages written to /oracle/app/oracle/diag/tnslsnr/sky-oel7/listener/alert/log.xml Trace information written to /oracle/app/oracle/diag/tnslsnr/sky-oel7/listener/trace/ora_4179_140717186082304.trc Trace level is currently 16
Started with pid=4179 Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sky-oel7)(PORT=1521)))
TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE WARNING: Subscription for node down event still pending 12-JAN-2016 16:10:14 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=sky-oel7)(USER=oracle))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=202375680)) * status * 0
[oracle@sky-oel7 admin]$ vi /oracle/app/oracle/diag/tnslsnr/sky-oel7/listener/trace/ora_4179_140717186082304.trc
2016-01-12 16:09:34.211259 : nttcnp:binding an address to a socket. 2016-01-12 16:09:34.211275 : nttcnp:listening on a bound socket (queue size = 128). 2016-01-12 16:09:34.211324 : nttcnp:getting sockname 2016-01-12 16:09:34.211342 : nttcnp:getting peername 2016-01-12 16:09:34.211355 : nttcnp:exit 2016-01-12 16:09:34.211368 : snlinGetAddrInfo:entry 2016-01-12 16:10:14.256096 : snlinGetAddrInfo:getaddrinfo() failed with error -3 2016-01-12 16:10:14.256193 : snlinGetAddrInfo:exit 2016-01-12 16:10:14.256215 : nttcon:exit 2016-01-12 16:10:14.256241 : nsopen:transport is open 2016-01-12 16:10:14.256261 : nsoptions:entry
没有更多的可用信息。
通过strace进行进程启动信息分析 [oracle@sky-oel7 ~]$ strace -f -t -o ~/listener.trc lsnrctl start
查看strace日志信息 5042 16:42:57 socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 13 5042 16:42:57 connect(13, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("172.24.97.1")}, 16) = 0 5042 16:42:57 poll([{fd=13, events=POLLOUT}], 1, 0) = 1 ([{fd=13, revents=POLLOUT}]) 5042 16:42:57 sendto(13, ":\26\1\0\0\1\0\0\0\0\0\0\10sky-oel7\tworkgroup\0"..., 36, MSG_NOSIGNAL, NULL, 0) = 36 5042 16:42:57 poll([{fd=13, events=POLLIN}], 1, 5000) = 0 (Timeout)
5042 16:43:02 socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 14 5042 16:43:02 connect(14, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.191.1")}, 16) = 0 5042 16:43:02 poll([{fd=14, events=POLLOUT}], 1, 0) = 1 ([{fd=14, revents=POLLOUT}]) 5042 16:43:02 sendto(14, ":\26\1\0\0\1\0\0\0\0\0\0\10sky-oel7\tworkgroup\0"..., 36, MSG_NOSIGNAL, NULL, 0) = 36 5042 16:43:02 poll([{fd=14, events=POLLIN}], 1, 5000) = 0 (Timeout)
上面的信息看出,是由于地址解析失败造成网络超时。
这些地址信息,可以通过DNS配置文件查找到 [root@sky-oel7 ~]# cat /etc/resolv.conf # Generated by NetworkManager search workgroup nameserver 172.24.97.1 nameserver 192.168.191.1
屏蔽这些地址后,listener启动正常。
信息
监听
地址
日志
分析
成功
可以通过
文件
时间
更多
程序
等级
网络
进程
面的
配置
缓慢
问题
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
山东常用服务器产品介绍云空间
细菌序列比对数据库
oracle 数据库名称
关系数据库中的五种运算
云顶之弈拳头账号怎么换服务器
计算机网络技术结合产物
服务器udp有什么用
邮件服务器ip地址
网络安全加固防守建议
软件开发实习生双周报
国家网络安全周天津活动
龙岩合众网络技术有限公司
互联网卡服务器有哪些
mysql数据库学习文档
天津常见软件开发价格表格
3g手机软件开发
电脑动画设计属于软件开发吗
青少年网络安全与技术
做网络技术能找什么工作
中国台湾手机软件开发
海外服务器租赁
软件开发需要阅读的书籍
医保卡提示与数据库信息不一致
咋样学习软件开发
华为网络技术支持工程师
sql数据库语句变多
网络安全风险评估工作报告
吴江区一站式网络技术怎么样
mysql数据库进程
网络安全正能量语录