处理CLOSE_WAIT过多,导致oracle服务无法访问的问题

       某天公司网站突然不能访问了,无论是页面加载还是登录均无法进行,查看应用服务器状态没有问题,从应用服务用SQLPlus访问Oracle数据,提升无法连接,看来问题在数据库了。登录数据库服务器,查看服务器进程没有问题,但是用TNSping工具检测Oracle Listener,显示无法连通,用lsnrctl status查看Listener状态显示不正常,但是又无法重新启动。

       用netstat -anp |grep 1521 命令查看oralce服务端口的占用情况,发现tnslsnr进程(此为oracle 侦探服务请求程序)有很多CLOSE_WAIT状态的连接,用lsof -i:1521查看也是这个问题,分析可能是连接太多,其他服务请求无法接入,用kill命令杀掉tnslsnr进程后,用lsnrctl start重新启动Oracle listener,数据访问变为正常。

你可能感兴趣的:(系统管理)