listener的内存泄漏

今天收到告警邮件,某省的数据库无法登录,在alertlog中有如下的报错:

登录数据库主机检查内存剩余量不到10%,用top检查:

发现listener占用的内存非常大,几乎有1个多G,检查连接数,发现大部分为jdbc的长连接,连接也不是非常频繁。几乎和平时一样。

尝试清空listener的log,稍有缓解,但是还是非常高,尝试lsnrctl reload之后,还是一样,占据的内存不变。直到重启lsnr之后,才得到解决:

此时已经恢复到3M多的内存。

经查metelink,这是一个9208上的bug,适用于所有的os平台:Bug 5576565 ,如果遇到和我一样问题的朋友,可以注意一下了,解决的方法有2个(详见Doc ID: 557397.1 ):

另外,再提一下在操作的时候,用了reload。其实reload仅仅是再次加载listener.ora文件,没有真正的stop listener,如果要重启,还是老老实实的用stop和start吧。

相关文章

6条评论

  1. 呵呵,2年前遇到了楼主一样的问题,幸运的是提前发现了内存泄漏的问题,没有出现ORA-27102: out of memory,但时时hp 8420 pa64 bit 的CPU,最后打了9.2.0.8 CPU PATCH就好了。

  2. 3 ? 21586 oracle 154 20 39244K 3680K sleep 0:00 0.11 0.07 tnslsnr

    这个不止15K吧

  3. 以前一个9208的环境也有同样的问题,后来就打了这个补丁。
    记得可以用ps -el | grep lsnr看内存,应该比TOP方便点,呵呵

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据