日志报4005错误
2026-03-17 10:02:27.518 [INFO (0)] [THREAD(22168)] [qvdm::QvGetLogFileSize] get file size from qvdm.conf: 50 2026-03-17 10:02:27.678 [INFO (0)] [THREAD(22168)] [CQvApplication::start] call globalInit(). 2026-03-17 10:02:27.679 [INFO (0)] [THREAD(22168)] [CQvApplication::globalInit] CImfAppMgr::instance() begin. 2026-03-17 10:02:27.679 [INFO (0)] [THREAD(22168)] [CQvApplication::globalInit] initAppMgr begin. 2026-03-17 10:02:27.714 [INFO (0)] [THREAD(22168)] [CQvApplication::globalInit] QvGetResPath begin. 2026-03-17 10:02:27.714 [INFO (0)] [THREAD(22168)] [CQvApplication::globalInit] initResMgr begin. 2026-03-17 10:02:27.715 [INFO (0)] [THREAD(22168)] [CQvApplication::globalInit] CQvSnmpEnv::poInstance. 2026-03-17 10:02:27.715 [INFO (0)] [THREAD(22168)] [CQvApplication::globalInit] CSysGlobalVar::instance(). 2026-03-17 10:02:27.721 [INFO (0)] [THREAD(22168)] [CQvApplication::globalInit] CQvSysTaskMgr::addTaskMgr. 2026-03-17 10:02:27.721 [INFO (0)] [THREAD(22168)] [qvdm::setLogLevelFromDB]set log level to :2 2026-03-17 10:02:27.722 [INFO (0)] [THREAD(22168)] [qvdm::setLogLevelFromDB] success, ProcID is 5, log level is 2 2026-03-17 10:02:27.722 [INFO (0)] [THREAD(22168)] [CQvApplication::globalInit] finished. 2026-03-17 10:02:27.722 [INFO (0)] [THREAD(22168)] [CQvApplication::start] call init(). 2026-03-17 10:02:27.729 [ERROR (109)] [THREAD(22168)] CTrapProcessorTaskMgr::LoadTrapProcDll()->Open directory fail: D:\Program Files\iMC\server\bin\..\..\server\dll\trapdll\ 2026-03-17 10:02:27.752 [WARNING (0)] [THREAD(22168)] [CQvDBReaderADP::~CQvDBReaderADP] Cancel current SQL when data have not be fetched out. 2026-03-17 10:02:27.754 [WARNING (0)] [THREAD(22168)] [CQvDBReaderADP::~CQvDBReaderADP] Cancel current SQL when data have not be fetched out. 2026-03-17 10:02:27.762 [WARNING (0)] [THREAD(22168)] [CQvDBReaderADP::~CQvDBReaderADP] Cancel current SQL when data have not be fetched out. 2026-03-17 10:02:27.764 [WARNING (0)] [THREAD(22168)] [CQvDBReaderADP::~CQvDBReaderADP] Cancel current SQL when data have not be fetched out. 2026-03-17 10:02:27.766 [WARNING (0)] [THREAD(22168)] [CQvDBReaderADP::~CQvDBReaderADP] Cancel current SQL when data have not be fetched out. 2026-03-17 10:02:27.804 [INFO (0)] [THREAD(22168)] [CTrapImporter::importTrapDef()] Cost 38 2026-03-17 10:02:28.330 [INFO (0)] [THREAD(22168)] [CDevFaultInfo::delTrashFaultData()] Don't exist Trash Fault Data. 2026-03-17 10:02:28.336 [WARNING (0)] [THREAD(22168)] [CQvDBSelectorADP::reader] Execute "select count(0),dev_id,category_main_id,severity from vw_trap_data_all where ack_type=0 and dev_id>=0 group by dev_id,category_main_id,severity order by dev_id" failed, errorMsg:Warning: Fatal error 605 occurred at Mar 17 2026 10:02AM. Note the error and time, and contact your system administrator. 2026-03-17 10:02:28.336 [ERROR (4005)] [THREAD(22168)] CDevFaultInfo::init: reader(),sql = select count(0),dev_id,category_main_id,severity from vw_trap_data_all where ack_type=0 and dev_id>=0 group by dev_id,category_main_id,severity order by dev_id 2026-03-17 10:02:28.336 [FATAL (4002)] [THREAD(22168)] [CDevFaultInfo::CDevFaultInfo()] Failed to call init.
imcfaultdm.exe 启动失败的直接原因是数据库查询错误,进而导致该进程初始化失败。不过在日志开头还暴露了一个可能相关的文件目录问题,我们可以按顺序一步步排查。
日志中的关键报错有两处:
ERROR (109):Open directory fail: D:\Program Files\iMC\server\bin\..\..\server\dll\trapdll\
这表示进程启动时无法访问预期的目录(即 D:\Program Files\iMC\server\dll\trapdll\)。
ERROR (4005) 及底层的 Fatal error 605:
执行 SQL 语句 select count(0)... from vw_trap_data_all... 失败,错误信息为 Fatal error 605 occurred。
在数据库中,错误 605 通常表示某个系统表或索引损坏,导致无法读取数据。
建议按以下顺序操作,每完成一步可尝试重启 imcfaultdm.exe 进程或整个 IMC 服务(net stop imcplat / net start imcplat),看问题是否解决:
日志显示 trapdll 目录不存在或无法访问。请以管理员身份登录 IMC 服务器,确认以下路径是否存在:D:\Program Files\iMC\server\dll\trapdll\
如果目录不存在:请手动创建该目录。
如果目录存在:右键该目录 → 属性 → 安全,确保运行 IMC 服务的用户(如 SYSTEM 或当前登录用户)具有读取和执行权限。
imcfaultdm.exe 是 IMC 的 Trap 接收进程,需要占用 UDP 162 端口。如果该端口被其他服务(如 Windows 的 snmptrap.exe 服务)占用,进程可能异常退出。
打开命令提示符(管理员),运行:netstat -anb | findstr 162
如果发现非 IMC 的进程占用了 162 端口,请停止该服务。例如,若 snmptrap.exe 在运行,请将其服务启动类型改为“手动”并停止。
如果上述步骤无效,问题可能出在数据库内部。
错误 605 是数据库物理错误,可能是表 vw_trap_data_all 或其依赖的物理表/索引损坏。
建议:联系贵单位的 DBA 或 H3C 技术支持,对 IMC 的后台数据库(SQL Server 或 MySQL)执行 DBCC CHECKDB(针对 SQL Server)或相应的表检查/修复命令,以修复可能的索引或系统表损坏。
如果自行排查无法解决,最稳妥的方式是联系 H3C 官方技术支持(400-600-6363),并提供:
完整的 imcfaultdm.exe 日志(你已提供大部分)。
IMC 安装目录 \iMC\server\log 下的相关日志文件。
数据库版本信息及上述排查结果。
暂无评论
vw_trap_data_all 时触发 SQL Server 致命错误 605,连带导致 Trap 处理 DLL 目录加载失败,最终进程启动崩溃。SQL 605 致命错误 → vw_trap_data_all 视图查询失败 → CDevFaultInfo::init 初始化失败 → imcfaultdm.exe 启动失败(TrapDll 目录加载失败是次要问题,核心是数据库损坏 / 视图异常)| 日志片段 | 含义 |
|---|---|
CTrapProcessorTaskMgr::LoadTrapProcDll()->Open directory fail | Trap 处理 DLL 目录缺失 / 权限不足(次要) |
Fatal error 605 occurred | SQL Server 检测到数据页损坏 / 索引异常,无法读取数据 |
select ... from vw_trap_data_all ... failed | 故障管理模块查询核心视图时数据库报错 |
ERROR (4005) CDevFaultInfo::init | 故障数据初始化失败(4005 是 iMC FaultDM 模块的数据库访问错误码) |
FATAL (4002) Failed to call init | 初始化失败,进程强制退出 |
-- 1. 登录 iMC 数据库实例(SSMS/命令行),执行数据库一致性检查
DBCC CHECKDB('imc_db') WITH NO_INFOMSGS, ALL_ERRORMSGS;
-- 2. 若检测到损坏,执行修复(需先停止 iMC 所有服务)
-- 注意:修复前务必备份数据库!
DBCC CHECKDB('imc_db', REPAIR_REBUILD);
-- 3. 若 REPAIR_REBUILD 无法修复,执行深度修复(谨慎使用)
DBCC CHECKDB('imc_db', REPAIR_ALLOW_DATA_LOSS);
💡 说明:
imc_db是 iMC 默认数据库名,若自定义需替换;REPAIR_ALLOW_DATA_LOSS可能丢失少量损坏数据,但能恢复数据库可用性;- 执行前停止 iMC 服务:
iMC\server\bin\imcserver.bat stop。
vw_trap_data_allD:\Program Files\iMC\server\db\sql\sqlserver\fault\vw_trap_data_all.sqlselect count(0) from vw_trap_data_all where ack_type=0 and dev_id>=0;
Open directory fail: ...\trapdll\ 错误:D:\Program Files\iMC\server\dll\trapdll\NT AUTHORITY\SYSTEM 和 iMC 运行用户(如 Administrator)的完全控制权限;.dll 文件是否缺失 / 损坏,可通过 iMC 安装包修复。# 停止所有 iMC 服务
D:\Program Files\iMC\server\bin\imcserver.bat stop
# 清理故障管理模块缓存
del D:\Program Files\iMC\server\tmp\fault\*.* /q
# 启动 iMC 服务
D:\Program Files\iMC\server\bin\imcserver.bat start
# 单独启动 faultdm 进程
D:\Program Files\iMC\server\bin\imcfaultdm.exe
imcfaultdm.exe 运行;D:\Program Files\iMC\server\log\faultdm.log 无 4005/4002 错误;imc_db 数据库,避免数据丢失;# 进入 iMC 安装目录,执行修复
D:\Program Files\iMC\setup\setup.exe /repair fault
| 问题根源 | 核心解决方案 |
|---|---|
| SQL Server 605 错误(数据页损坏) | 执行 DBCC CHECKDB 修复数据库 |
vw_trap_data_all 视图异常 | 重建故障管理核心视图 |
| TrapDll 目录缺失 / 权限 | 补全目录 + 赋权 |
| 进程初始化失败 | 清理缓存 + 重启 iMC 服务 |
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论