这个专题讲一些日常运维的异常处理 ## 1. 现象 windows 2008R2 启动监听报错如下 [image:838 size:orig] ## 2. 原因查找 ### 2.1 查看监听日志 发现日志中报错和上图显示一致 ### 2.2 重建监听 删除监听可以成功,但是启动时仍然报错 [image:839 size:orig] 上图显示端口被占用 ### 2.3 查看端口状态 我们使用如下命令查找 ``` netstat -aon |findstr "10.21.34.93:1521" ``` [image:840 size:orig] 发现有大量的TIME_WAIT连接占用1521端口,进程PID是0 0代码空闲进程 这时搜索TIME_WAIT状态,具体的大家可以自行搜索,网上建议设置如下参数 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters]添加dword值 - TcpTimedWaitDelay=30(30秒也为微软建议值;默认为2分钟) - MaxUserPort:65534(可选值5000 - 65534); 这里需要重新启动操作系统才生效,暂时没有重启 ### 2.4 监听报错继续查看 这时再回头看监听报错,发现他首先启动127.0.0.1的监听,这里感到奇怪 这时拿这个在MOS上搜索 找到如下方案 [image:841 size:orig] 建议重启系统 ## 3. 解决方法 这里客户通过重启服务器解决