每隔几天,我的 Windows 2003 Server 日志中就会出现几个错误,必须重新启动才能解决此问题。目前无法重建系统,但一旦开发团队有项目和时间重新配置所有 IBM 软件,我就会最终重建系统,我有一个新的 VM 等待那一天。
关于服务器的一些背景信息:
这是一台经过 P2V 转换的物理机,现在是 Hyper-V 2012 R2 上的客户机。错误随机发生,有时同一天发生两次,但通常间隔几天到一周左右。之前的 PM 在 SCSI 控制器上有电容器凸起,现在已经完全坏了。这台机器在我到公司工作之前就进行了转换。几年前它曾经在一个域上,但由于重组而被移除,从那时起就一直放在工作组中。在清理和更新过程中,我已经对机器进行了多次备份。
奇怪的是:有时当出现错误时,我可以通过 RDP 连接到虚拟机,但无法 ping 出或访问机器外部的任何东西,而且 Windows 防火墙已经关闭。其他时候,我无法通过 RDP 访问虚拟机,必须通过主机访问它才能重新启动它。当我重新启动它时,我必须等待 CICSPRNT.exe 开始运行,然后终止该进程并运行开发人员脚本以再次启动 CICSPRNT 进程。
该系统运行的是 Windows Server 2003 R2 标准版 SP 2,还安装了 Hyper-V 集成服务。它运行的是 IBM CICS Transaction Gateway v6.0、websphere express 6、websphere developer for zseries 6.0 EGL COBOL Gen、IBM Rational Application Developer V6.0、IBM Rational Agent Controller、toolkit for Oracle 1.2.4、Opttech Sort Version 2003a、pervasive data integrator、TX series for Multiplatforms v6.1
我目前所做的:
使用多种 AV/恶意软件/间谍软件产品扫描虚拟机,系统是干净的。
sfc /scannow 未找到任何损坏的系统文件
chkdsk 没有发现任何问题
由于虚拟 NIC 的连接性似乎有限,因此我编写了一个脚本来重建 winsock 和网络。(我将在底部发布此内容。)
使用 Glary Utilities 修复并清理注册表(是的,我有之前的备份)
安装了所有可用的 Windows 更新和 Java 更新。
以下是来自事件查看器的错误和有趣的信息:
错误
无法找到源 ( CICSTS ) 中事件 ID ( 5555 ) 的描述。本地计算机可能没有必要的注册表信息或消息 DLL 文件来显示来自远程计算机的消息。您可以使用 /AUXSOURCE= 标志来检索此描述;有关详细信息,请参阅“帮助和支持”。以下信息是事件的一部分:ERZ025001E/0081 1/28/2014 04:29:51.890625000 PROD1 5216/0001:无法打开文件:“/.:/cics/sfs/DELLAZ5'/'dfhcfil'”,索引:“cfilkey”,SFS 代码 - 1997905970“ENC-sfs-0050:此名称的文件不存在。”。
无法找到源 ( CICSTS ) 中事件 ID ( 5555 ) 的描述。本地计算机可能没有必要的注册表信息或消息 DLL 文件来显示来自远程计算机的消息。您可以使用 /AUXSOURCE= 标志来检索此描述;有关详细信息,请参阅帮助和支持。以下信息是事件的一部分:ERZ080005E/0801 1/28/2014 00:00:15.421875000 DEV 9284/0001:异常终止 U8005。使用 XA_OPEN 字符串“Oracle_XA+Acc=P/riuser/######+SesTm=20+SqlNet=TSIRPDB+DbgFl=15”打开“Oracle Single Phase”时,XA_OPEN 返回资源管理器错误。' SQLCODE -12560,ORA-12560:TNS:协议适配器错误
事件 ID 7034
IBM CICS Transaction Gateway 服务意外终止。此情况已发生 1 次。
有关详细信息,请参阅帮助和支持中心http://go.microsoft.com/fwlink/events.asp。
信息
无法找到源 (CICSTS) 中事件 ID (5557) 的描述。本地计算机可能没有必要的注册表信息或消息 DLL 文件来显示来自远程计算机的消息。您可以使用 /AUXSOURCE= 标志来检索此描述;有关详细信息,请参阅“帮助和支持”。以下信息是事件的一部分:ERZ058413I/0001 1/28/2014 04:29:52 PROD1:服务“cics.PROD1”已成功启动。
无法找到源 ( SymTrackService ) 中事件 ID ( 0 ) 的描述。本地计算机可能没有必要的注册表信息或消息 DLL 文件来显示来自远程计算机的消息。您可以使用 /AUXSOURCE= 标志来检索此描述;有关详细信息,请参阅“帮助和支持”。以下信息是事件的一部分:服务已启动/恢复。
无法找到事件 ID ( 28712 ) 的描述(源 ( Encina ))。本地计算机可能没有显示远程计算机消息所需的注册表信息或消息 DLL 文件。您可以使用 /AUXSOURCE= 标志来检索此描述;有关详细信息,请参阅“帮助和支持”。以下信息是事件的一部分:1 00868 14/01/28-04:29:43.140625 502c5448 A 已初始化... 1/28/2014 4:29:43 AMdev
重建 winsock 和网络的脚本
color EC
cls
@echo off
echo Be sure to write down your network configuration and reconfigure it before rebooting!
echo If you need to do this now then either minimize or close this window and start it later after doing so.
pause
echo restarting winsock
echo For more information of what this script is doing please visit: support.microsoft.com/kb/811259
netsh winsock reset
pause
echo Resetting TCP/IP
echo For more information of what this script is doing please visit: support.microsoft.com/kb/31758
echo A log file will be created at the location "c:\IPResetLog.txt"
netsh int ip reset c:\IPResetLog.txt
echo Keep this window open and reconfigure your Network settings NOW!!!
pause
echo creating ARP table log in c:\ARPLog.txt
arp -a > c:\ARPLog.txt
echo flushing ARP tables
arp -d
echo creating NBTStat log with ALL current info in c:\NBTStat.txt
nbtstat -a > c:\NBTStat.txt
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" >> c:\NBTStat.txt
nbtstat -A >> c:\NBTStat.txt
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" >> c:\NBTStat.txt
nbtstat -r >> c:\NBTStat.txt
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" >> c:\NBTStat.txt
nbtstat -s >> c:\NBTStat.txt
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" >> c:\NBTStat.txt
nbtstat -S >> c:\NBTStat.txt
echo Purging and reloading the remote cache name table
nbtstat -R
echo Sending Name Release packets to WINS and then, starts Refresh
nbtstat -RR
echo Purging the DNS Resolver cache
ipconfig /flushdns
echo Refreshing all DHCP leases and re-registering DNS names
ipconfig /registerdns
echo REMEMBER to re-configure all network settings before rebooting or
echo if you are remotely working on this box you may lose connectivity and need physical access to this box
pause
echo This computer will reboot if you press any key, if you don't want to reboot now close this window.
shutdown /r /d p:0:0