这个专题讲一些日常运维的异常处理 




## 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. 解决方法

这里客户通过重启服务器解决