怎么解决windows下oracle监听故障

70次阅读
没有评论

共计 3905 个字符,预计需要花费 10 分钟才能阅读完成。

这篇文章主要讲解了“怎么解决 windows 下 oracle 监听故障”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“怎么解决 windows 下 oracle 监听故障”吧!

现象: 数据库服务及监听运行正常,但打开功能模块非常慢;
处理过程:
一 检查数据库 alert_oaxx.log 日志
日志切换并不高,无报错;数据库负载不大;
二 检查数据库状态
服务和监听均运行正常,sqlplus / as sysdba 登陆正常,会话数正常 .
检查系统启动时间
初始安装日期:     2015/5/13, 12:09:51
系统启动时间:     2018/6/14, 3:11:06
检查网络连接, 发现大量 close_wait, 由进程 327000 引起, 经判断为 360tray

TCP 10.25.136.5:52667 221.130.200.53:80 CLOSE_WAIT 327000
TCP 10.25.136.5:52668 221.130.200.53:80 CLOSE_WAIT 327000
TCP 10.25.136.5:52669 221.130.200.53:80 CLOSE_WAIT 327000
TCP 10.25.136.5:52672 221.130.200.53:80 CLOSE_WAIT 327000
TCP 10.25.136.5:52674 221.130.200.53:80 CLOSE_WAIT 327000
TCP 10.25.136.5:52675 221.130.200.53:80 CLOSE_WAIT 327000
TCP 10.25.136.5:52676 221.130.200.53:80 CLOSE_WAIT 327000
TCP 10.25.136.5:52677 221.130.200.53:80 CLOSE_WAIT 327000
TCP 10.25.136.5:52678 221.130.200.53:80 CLOSE_WAIT 327000
TCP 10.25.136.5:52680 221.130.200.53:80 CLOSE_WAIT 327000
TCP 10.25.136.5:52681 221.130.200.53:80 CLOSE_WAIT 327000
TCP 10.25.136.5:52682 221.130.200.53:80 CLOSE_WAIT 327000
TCP 10.25.136.5:52683 221.130.200.53:80 CLOSE_WAIT 327000
TCP 10.25.136.5:52684 221.130.200.53:80 CLOSE_WAIT 327000
TCP 10.25.136.5:52686 221.130.200.53:80 CLOSE_WAIT 327000
TCP 10.25.136.5:52688 221.130.200.53:80 CLOSE_WAIT 327000
TCP 10.25.136.5:52690 221.130.200.53:80 CLOSE_WAIT 327000
TCP 10.25.136.5:52691 221.130.200.53:80 CLOSE_WAIT 327000
TCP 10.25.136.5:52692 221.130.200.53:80 CLOSE_WAIT 327000

三 检查数据库等待事件
无等待;
四 做 tnsping 发现:

C:\Users\Administrator tnsping oadb
TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 08- 5 月  -
2019 15:05:04
Copyright (c) 1997, 2010, Oracle. All rights reserved.
已使用的参数文件:
Y:\oracle\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
已使用  TNSNAMES  适配器来解析别名
尝试连接  (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =10.xx.1xx.5)(PORT = 15
22)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = oadb)))
OK (51910  毫秒)

延迟很高, 停用 360tray

C:\Users\Administrator tnsping oadb
TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 08- 5 月  -
2019 14:58:23
Copyright (c) 1997, 2010, Oracle. All rights reserved.
已使用的参数文件:
Y:\oracle\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
已使用  TNSNAMES  适配器来解析别名
尝试连接  (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = WIN-5K0CGNM3EQV)(PORT
 = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = oadb)))
OK (24950  毫秒)

降至 25 秒,但还是很高,ping 主机,发现延迟很低,禁用 ipv6,效果还是一样;
C:\Users\Administrator ping 10.25.136.5

正在 Ping 10.25.136.5 具有 32 字节的数据:
来自 10.25.136.5 的回复: 字节 =32 时间 1ms TTL=64
来自 10.25.136.5 的回复: 字节 =32 时间 1ms TTL=64
另发现应用日志存在网络连接超时

url=jdbc:oracle:thin:@10.2x.1x6.x:xxx:oadb;user=bxxx;pwd=xxx
java.sql.SQLException: Io  异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186
646784)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:189)
 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:231)

检查 sqlnet.ora 无明显异常;
五 检查数据库监听,重启监听,无改善,查看监听日志发现,日志在 2019-04-06 2 点以后无更新
产生有大量 trace:

** DBGRL Error: Text Alert Log
** DBGRL Error: SLERC_OERC, 48184
** DBGRL Error: OSD-00002:  附加错误信息
O/S-Error: (OS 87)  参数错误。** DBGRL Error: 06- 4 月  -2019 02:01:39 * (CONNECT_DATA=(SID=xxdb)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=1xxxxx)(PORT=60839)) * establish * oadb * 0
Trace file y:\oracle\diag\tnslsnr\WIN-5K0CGNM3EQV\listener\trace\ora_895324_893720.trc
** DBGRL Error: Text Alert Log
** DBGRL Error: SLERC_OERC, 48184
** DBGRL Error: OSD-00002:  附加错误信息
O/S-Error: (OS 87)  参数错误。** DBGRL Error:  系统参数文件为 Y:\oracle\product\11.2.0\dbhome_1\network\admin\listener.ora

查看 listner.log 发现其有 4GB, 在 win 下存在如下问题:
WINDOWS: Listener Hangs Lsnrctl Commands Are Slow or Hang (文档 ID 1319797.1)
Bug 9879101 : THE CONNECT THROUGH LISTENER WAS SLOW WHEN LISTNER LOG GROWED 4GB
处理办法:
停上监听,重命名原监听文件,
y:\oracle\diag\tnslsnr\WIN-5K0CGNM3EQV\listener\trace\ listener.bak.log
新建一个 listener.log

感谢各位的阅读,以上就是“怎么解决 windows 下 oracle 监听故障”的内容了,经过本文的学习后,相信大家对怎么解决 windows 下 oracle 监听故障这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-24发表,共计3905字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)