客户更新了一个网站程序,导致所有IIS站点全部无法打开。
系统日志都会出现警告日志:Event ID: 5010
A process serving application pool 'xxx' failed to respond to a ping.
.
尝试了重启站点,回收应用池,重启IIS,最后重启服务器,仍然无效。
---------------------
分析解决
使用工具 Debug Diagnostic Tool v2.2
https://www.microsoft.com/en-us/download/details.aspx?id=49924
安装后打开 DebugDiag 2 Collection
建议先重启IIS,并在任务管理器中结束所有的 w3wp.exe 进程
~定位到“Processes” 中
.
~打开有问题的网站,等待1分钟左右,或页面已经显示了无法打开.
.
在 Processes 中选择 w3wp.exe,右键选择 Create Full Userdump.
.
生成的Dump文件默认在 C:\Program Files\DebugDiag\Logs\Misc\ 中
使用 DebugDiag Analysis 或 直接双击打开 dmp 文件。
分析后默认会在C:\Users\Administrator\Documents\DebugDiag\Reports\ 中生成报告。
查看报告
.
确认问题是: OraOLEDBpus10.dll: The specified module could not be found.
检查目录D:\oracle\product\10.2.0\client_1\BIN\,发现里面有这几个文件。
尝试执行命令 regsvr32 D:\oracle\product\10.2.0\client_1\BIN\OraOLEDB10.DLL
同样提示 OraOLEDBpus10.dll: The specified module could not be found.
复制这两个文件
D:\oracle\product\10.2.0\client_1\BIN\OraOLEDBpus10.dll
D:\oracle\product\10.2.0\client_1\BIN\OraOLEDB10us.dll
到
C:\Windows\SysWOW64\ 中(32位系统应复制到 system32 中)
然后再执行命令
regsvr32 D:\oracle\product\10.2.0\client_1\BIN\OraOLEDB10.DLL
提示成功。
重启IIS,然后再次打开网站,正常访问
.