最近给同事虚拟机上安装了一个11g数据库,发现一个奇怪的问题,用windows客户段连接时候非常慢,慢到不能容忍的地步,但是本地os验证登录没有问题,速度非常快,初步定为问题出在监听上,于是我tnsping了一下,结果有点吃惊,要么是报错类似的报错有TNS-12535: TNS:operation timed out等,要么就是可以tnsping通,但是时间基本是五位数的。既然可以偶尔ping通,那么防火墙的原因排除了,而且我确定防火墙是关闭的而且disable了的。
猜测:是不是网络通信问题?
如果是网络通信异常,那么我去虚拟机上easyconnect一下,应该要正常才对,结果是跟windows客户端连接一样慢。
尝试重启监听也卡半天然后报错。
监听日志有这么一条WARNING: Subscription for node down event still pending异常记录
无奈的求助百度,谷歌。。。
1.防火墙 ---早都已经关闭了
2.修改/etc/hosts文件,把不用的注释掉 ---并没有什么用,虚拟机是新装的,里面也没有什么多余信息
3.尝试ping 主机 ---非常快
4.listener.log日志过大(超过4G) ---刚刚安装的数据库,日志文件很小
5.查看v$session 看是不是有大量会话接入或者有没有定时job ---然并没有,毕竟自己的虚拟机,也只有一台windows在连
6.重启监听 --试过了,并没有用,就连查看状态都非常卡
。。。
看了好多帖子,发现都帮不到我
在最后发现一根救命稻草:服务器本身的DNS起作用了,DNS一起作用,hosts就有问题了
修改/etc/resolv.conf,里面内容都注释掉(你也可以把这个文件mv到别的地方做备份,直接把原来路径下的删掉)
再次测试
果然问题出在这里,再次用windows端工具去连,速度也是非常快了。