重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: Oracle EM 13c Agent 在 Windows 环境下因缺失 C++ 运行库导致 Perl 组件报错 [打印本页]

作者: ZhangQi    时间: 3 天前
标题: Oracle EM 13c Agent 在 Windows 环境下因缺失 C++ 运行库导致 Perl 组件报错
本帖最后由 ZhangQi 于 2026-6-4 11:59 编辑

一、 问题现象
在 Windows Server 部署 EM 13c Agent 的配置阶段,系统弹出硬性阻断报错:

perl.exe - 系统错误:由于找不到 VCRUNTIME140.dll,无法继续执行代码。

此时,尽管控制台背景日志可能显示 Agent Software installed Successfully,但随后的配置与打补丁流程会因 Perl 引擎无法加载而直接挂起或中断。

二、 根本原因分析
EM 13c Agent 自带了一个轻量级的 Perl 解析器(位于 ...\oracle_common\perl\bin\perl.exe),用于在安装后期调度配置脚本与执行自动化补丁应用。

该 Perl 二进制文件在编译时强依赖于微软的 Microsoft Visual C++ Redistributable(VC++ 运行时库)。如果目标 Windows 服务器执行的是纯净安装、未启用外网更新,或此前未部署过较新的第三方软件,系统目录(如 C:\Windows\System32)中便缺少运行所必需的动态链接库文件 VCRUNTIME140.dll,导致进程初始化失败。

三、 解决方案
1. 标准修复方案(推荐)
在目标服务器上补全微软官方的 C++ 运行时库。该组件向后兼容,建议直接安装合并版。

组件名称:Visual Studio 2015-2022 再发行组件包(X64)

安装步骤:下载官方补丁包 vc_redist.x64.exe,在服务器上以管理员权限双击运行并勾选同意,通常在 10 秒内即可完成释放。该操作属于系统级运行时补充,无需重启服务器。

2. 应急规避方案(离线且无法传输大文件时)
若服务器处于严格物理隔离环境且无法传输完整的安装包:

操作方法:从任意一台同架构(64位)且运行正常的 Windows 操作系统中,前往 C:\Windows\System32\ 目录复制 VCRUNTIME140.dll 文件,直接粘贴至该服务器的 C:\Windows\System32\ 目录,或放入 Agent 自带的 Perl 二进制目录中(E:\agent\agent_13.5.0.0.0\oracle_common\perl\bin\)。

四、 结果验证
修复动态链接库依赖后,关闭报错弹窗,重新执行 agentDeploy.bat 或在实例目录下执行 emctl start agent,Perl 脚本即可正常解析,配置流程顺利闭环。





欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2