侧边栏壁纸
  • 累计撰写 11 篇文章
  • 累计创建 1 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

openEuler 22.03 安装 Oracle 11g 70% 报错解决方案(实测有效)

自留地
2026-03-23 / 0 评论 / 0 点赞 / 19 阅读 / 0 字

关键词

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

报错信息

11.png
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 的编译依赖不兼容,缺少必要的链接参数,导致客户端共享库编译失败。

解决方案

  1. 删除冲突的 stubs 文件

    rm -rf /u01/app/oracle/product/11.2.0/db/lib/stubs/*
  2. 编辑 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
  3. 所有命令执行完成后,点击安装界面的「Retry」,即可继续安装。

参考链接:https://blog.csdn.net/qq844352155/article/details/38818103

报错二:Error in invoking target 'agentnmhs' of makefile

报错信息

Snipaste_2026-03-23_15-30-24.png
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 基于此)的常见兼容问题。

解决方案

方式一:手动编辑(推荐,可直观看到修改内容)

  1. 进入目标目录并备份原始文件(关键,防止修改出错无法恢复)

    cd $ORACLE_HOME/sysman/lib
    cp ins_emagent.mk ins_emagent.mk.bak
  2. 编辑 ins_emagent.mk 文件

    vi ins_emagent.mk
  3. 命令模式下输入 /NMECTL 快速定位到目标行,在该行末尾追加 -lnnz11,修改后如下:

    $(SYSMANBIN)emdctl:
    $(MK_EMAGENT_NMECTL) -lnnz11
  4. 保存退出(:wq),点击安装界面「Retry」即可。

方式二:一键命令修改(高效,适合批量部署)

直接执行以下命令,自动添加参数,无需手动编辑:

sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk

执行完成后,点击「Retry」继续安装。

注意事项

  1. 修改文件前建议备份(如 sed -i.bak、cp 备份),防止误操作无法回滚。

  2. 两种报错均为 openEuler 22.03 安装 Oracle 11g 的高频问题,按上述步骤操作后,均可顺利通过 Retry 完成安装。

0

💻 博主自用服务器推荐

我平时做Linux实验、排查运维故障、搭建个人博客,全程用阿里云ECS:
✅ 稳定不掉线,大厂品质有保障
✅ 新用户2核2G低至99元/年,性价比拉满
✅ 自带安全组/快照,练手不怕搞坏环境

点击领取阿里云优惠

评论区