代码改变世界

Oracle 监听器日志文件过大导致监听异常

  abce  阅读(1540)  评论(0编辑  收藏  举报

Oracle 监听器日志文件过大导致监听异常

 

db版本:11.2.0.1

os版本:windows2008

 

现象:

应用异常,无法连接数据库。登陆数据库服务器,查看监听已经断掉。尝试重启监听,重启失败。查看监听日志listener.log的大小已经超过4G。

 

日志信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
***********************************************************************
 
Fatal NI connect error 12570, connecting to:
 (LOCAL=NO)
 
  VERSION INFORMATION:
    TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
    Oracle Bequeath NT Protocol Adapter for 64-bit Windows: Version 11.2.0.1.0 - Production
    Windows NT TCP/IP NT Protocol Adapter for 64-bit Windows: Version 11.2.0.1.0 - Production
  Time: 30-6月 -2015 8:43:34
  Tracing not turned on.
  Tns error struct:
    ns main err code: 12570
     
TNS-12570: TNS: 包阅读程序失败
    ns secondary err code: 12560
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0
opiodr aborting process unknown ospid (2660) as a result of ORA-609

  

解决方法:

删除listener.log(删除前可以先做备份),然后重启监听。监听重启后会自动创建一个新的日志文件。

 

补充:

在监听进程运行时,无法对listener.log做删除或者重命名操作。

如果不想重启监听,删除监听日志。可以按如下操作:

1.>lsnrctl set log_status off    # 先把日志状态停掉,这样就不会写监听器日志

2. 备份或者删除监听日志

3.>lsnrctl set log_status on    # 重新打开日志,开始记录监听器日志。该文件会自动创建

4.>lsnrctl status                    #检查监听状态

 

Linux下不要直接 cat /dev/null >  listener.log 除非在监听器关闭的情况下。否则,即便文件已经被清空,监听器还是无法执行写入日志的。

 

参考资料:

Bug 9497965 - Win: Listener Startup Fails Due to listener.log Size is Greater Than 4GB [ID 9497965.8]

 

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示