关键词
openEuler 22.03 安装 Oracle 11g 报错,Oracle 11g client_sharedlib 报错,Oracle 11g agentnmhs 报错,openEuler Oracle 11g 兼容问题,Oracle 11g ins_rdbms.mk 报错解决方案
在 openEuler 22.03 系统安装 Oracle 11g 过程中,很多同学会在进度走到 70% 左右遇到报错,以下是两种高频报错的详细解决步骤,实测可通过 Retry 完成安装,适配所有 Oracle 11gR2 版本,新手可直接复制命令执行。
报错一:Error in invoking target 'client_sharedlib' of makefile
报错信息

Error in invoking target 'client_sharedlib' of makefile "/u01/app/oracle/product/11.2.0/db/rdbms/lib/ins_rdbms.mk". See '/u01/app/oraInventory/logs/installActions2026-03-22_10-18-00PM.log' for details报错原因
openEuler 22.03 与 Oracle 11g 的编译依赖不兼容,缺少必要的链接参数,导致客户端共享库编译失败。
解决方案
删除冲突的 stubs 文件
rm -rf /u01/app/oracle/product/11.2.0/db/lib/stubs/*编辑 env_rdbms.mk 文件,添加必要链接参数(备份原文件,避免出错)
sed -i.bak '/^LINKTTLIBS=/ {/ -lons$/! s/$/ -lons/}' /u01/app/oracle/product/11.2.0/db/rdbms/lib/env_rdbms.mk sed -i '/^LINK=$(FORT_CMD)/ {/ -Wl,--no-as-needed$/! s/$/ -Wl,--no-as-needed/}' /u01/app/oracle/product/11.2.0/db/rdbms/lib/env_rdbms.mk sed -i '/^LINK32=$(FORT_CMD)/ {/ -Wl,--no-as-needed$/! s/$/ -Wl,--no-as-needed/}' /u01/app/oracle/product/11.2.0/db/rdbms/lib/env_rdbms.mk sed -i -e ':loop' -e '/^TG4PWD_LINKLINE=/ {/\\$/ { N; b loop; }; / -lnnz11$/! s/$/ -lnnz11/; }' /u01/app/oracle/product/11.2.0/db/rdbms/lib/env_rdbms.mk所有命令执行完成后,点击安装界面的「Retry」,即可继续安装。
参考链接:https://blog.csdn.net/qq844352155/article/details/38818103
报错二:Error in invoking target 'agentnmhs' of makefile
报错信息

Error in invoking target 'agentnmhs' of makefile '/u01/app/oracle/product/11.2.0/db/sysman/lib/ins_emagent.mk'. See '/u01/app/oraInventory/logs/installActions2026-03-23_03-24-10PM.log' for details报错原因
Oracle 11g 的 emagent 组件编译时,缺少 nnz11 库链接,属于 Oracle 11g 在 RHEL8 系系统(openEuler 22.03 基于此)的常见兼容问题。
解决方案
方式一:手动编辑(推荐,可直观看到修改内容)
进入目标目录并备份原始文件(关键,防止修改出错无法恢复)
cd $ORACLE_HOME/sysman/lib cp ins_emagent.mk ins_emagent.mk.bak编辑 ins_emagent.mk 文件
vi ins_emagent.mk命令模式下输入
/NMECTL快速定位到目标行,在该行末尾追加-lnnz11,修改后如下:$(SYSMANBIN)emdctl: $(MK_EMAGENT_NMECTL) -lnnz11保存退出(
:wq),点击安装界面「Retry」即可。
方式二:一键命令修改(高效,适合批量部署)
直接执行以下命令,自动添加参数,无需手动编辑:
sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk执行完成后,点击「Retry」继续安装。
注意事项
修改文件前建议备份(如 sed -i.bak、cp 备份),防止误操作无法回滚。
两种报错均为 openEuler 22.03 安装 Oracle 11g 的高频问题,按上述步骤操作后,均可顺利通过 Retry 完成安装。
评论区