今天有一台服务器突然发现无法打开网页了,数据库也无法访问
排查网络连接正常
进入iis发现一切正常,但是localhost:80 无法打开
在文件夹内可以正常打开,iis就不行
不懂这个暂时跳过
进入数据库,sqlplus / as sysdba 可以正常登入
plsql 就无法登陆,提示tns 12560 适配器错误,按照网上说的 三种常见情况 分别进行了排查,没有解决问题
删除监听后,重建监听
发现无论输入什么端口号都提示这个
配置了静态监听也无法使用客户端访问
但是发现tcp报12560,ipc无问题
使用netstat -aon|findstr "1521" 发现端口被占用
通过pid kill了进程之后依旧无法正常连接
最后得到指点,使用netstat -tnb 查询到使用的Tcp端口数量超过了5000
重启机器之后再重建监听,没有报错,再次查询,端口数也就100多个
最后百度得到结果正常使用端口数上限就是5000个,超过5000时
会出现出现“系统缺乏足够缓冲区空间或者因为队列已满无法执行套接字上操作”错误
可以通过参数修改这个最大上限,避免问题再次发生
两点没做好
1.下次再发生时可以记录下端口数超过5000是为什么,当时屏幕刷的太多直接关掉了,没有记录下
2.kill了1521端口占用的进程,但是还是无法建立监听,下次应该多kill一些进程,多释放一些端口,再进行操作
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31060213/viewspace-2284864/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31060213/viewspace-2284864/