【Oracle】Linux7安装11g Error in invoking target 'agent nmhs' of makefile

本文提供了解决在Linux7环境下安装Oracle11.2.0.3时遇到的86%安装失败问题的具体步骤。通过在ins_emagent.mk文件中添加链接libnnz11库的参数,成功解决了Error in invoking target 'agentnmhs' of makefile的错误。

【Oracle】Linux7安装11g 
86%报错:Error in invoking target 'agent nmhs' of makefile



OS:Oracle Linux 7.2 64bit
DB:Oracle 11.2.0.3
%86时出现报错   Error in invoking target 'agent nmhs' of makefile


解决方案
在makefile中添加链接libnnz11库的参数
修改$ORACLE_HOME/sysman/lib/ins_emagent.mk,将
$(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11
建议修改前备份原始文件
[oracle@ysserver ~]$ cd $ORACLE_HOME/sysman/lib
[oracle@ysserver lib]$ cp ins_emagent.mk ins_emagent.mk.bak
[oracle@ysserver lib]$ vi ins_emagent.mk


进入vi编辑器后  命令模式输入/NMECTL 进行查找,快速定位要修改的行
在后面追加参数-lnnz11        第一个是字母l   后面两个是数字1



保存退出后Retry





吕星昊
2016.6.23

<think>好的,用户现在遇到了一个Oracle安装错误,错误信息是关于调用目标'install'时的问题,具体涉及ins_ctx.mk这个makefile文件。用户之前已经询问过关于sysctl.conf配置的问题,并且现在可能正在安装Oracle数据库时遇到困难。 首先,我需要分析错误信息。错误提示中提到的是在安装过程中调用makefile时失败,特别是ins_ctx.mk。日志文件的位置也给出,用户需要查看该日志以获取详细信息。常见的这类错误通常与权限、环境变量、缺少依赖库或补丁有关。 考虑到用户之前配置过内核参数,可能已经解决了系统级的问题,但安装Oracle时还有可能遇到其他问题。例如,Oracle安装需要特定的软件包,如gcc、make、binutils等,是否安装?权限方面,Oracle用户是否有权访问相关目录?还有可能缺少某些库文件,如libaio-devel,这在Oracle安装中是必需的。 另外,路径中的“homeforaclefappforaclefproduct/11.2.0fdbhome_l/ctx/lib/ins_ctx.mk”看起来可能有问题,可能用户实际路径中的斜杠被错误处理,导致路径不正确。需要检查是否路径中存在错误,或者是否环境变量设置不正确,比如ORACLE_HOME是否正确设置。 还要注意用户使用的是Oracle 11.2.0版本,这个版本在较新的操作系统上可能存在兼容性问题。用户之前的内核版本是3.10.0-1160.el7.x86_64,属于CentOS 7/RHEL 7,可能需要进行额外的兼容性配置,比如安装特定的补丁或使用兼容模式。 另外,日志文件installActions2025-03-14_02-42-47PM.log是关键,用户需要查看其中的具体错误信息。例如,是否有文件找不到、权限被拒绝、编译错误等。但用户可能没有提供日志内容,所以需要根据常见问题给出建议。 可能的解决方案包括检查依赖包是否安装,设置正确的权限,应用必要的Oracle补丁,调整环境变量,或者忽略特定的makefile错误(如果可行)。此外,用户可能需要确认磁盘空间是否足够,临时目录是否有写入权限,以及SELinux或防火墙是否干扰了安装过程。 需要逐步引导用户检查这些方面,确保每一步都清晰,并给出具体的命令示例,如使用yum安装依赖包,修改权限命令,检查日志的方法等。同时,提醒用户在修改配置前备份,防止进一步的问题。 总结来说,需要从依赖项、权限、路径正确性、环境变量、补丁和日志分析这几个方面来帮助用户解决问题,确保他们能够逐步排查并修复安装错误。</think>--- ### 错误分析与解决方案 您遇到的错误是 **Oracle安装过程中`ins_ctx.mk`编译失败**,常见于Oracle 11g/12c在Linux系统的安装。以下是逐步排查和修复方案: --- #### 一、错误原因分析 错误信息: ``` Error in invoking target 'install' of makefile "homeforaclefapp.../ins_ctx.mk" ``` 关键问题: 1. **路径异常**:路径中的`homeforaclefapp...`显示路径分隔符(`/`)被错误处理,可能是: - 环境变量(如`ORACLE_HOME`)配置错误 - 安装介质解压时损坏 2. **依赖缺失**:缺少编译`ctx`组件所需的库(如`libclntsh`、`libocci`) 3. **权限问题**:Oracle用户对安装目录权限不足 4. **兼容性问题**:Oracle 11g在较新Linux系统(如CentOS 7)需额外补丁 --- #### 二、逐步修复流程 ##### 1. **验证安装介质完整性** ```bash # 检查Oracle安装包MD5 md5sum /path/to/oracle_database.zip # 对比官方MD5值,若不一致需重新下载 ``` ##### 2. **检查环境变量** ```bash echo $ORACLE_HOME # 预期输出:/home/oracle/app/oracle/product/11.2.0/dbhome_1 ``` - **若路径错误**: 编辑`~/.bash_profile`,确保以下变量正确: ```bash export ORACLE_BASE=/home/oracle/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH ``` 加载配置: ```bash source ~/.bash_profile ``` ##### 3. **安装必要依赖包** ```bash sudo yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat ``` ##### 4. **应用Oracle 11gR2在Linux 7的补丁** Oracle 11.2.0.x在CentOS 7/RHEL 7安装以下补丁: - **p6880880**:OPatch工具更新 - **p12419378**:数据库补丁集(需从Oracle Support下载) ```bash # 解压补丁并执行 unzip p12419378_112030_Linux-x86-64.zip cd 12419378 opatch apply ``` ##### 5. **修复文件权限** ```bash # 确保Oracle用户拥有安装目录权限 sudo chown -R oracle:oinstall /home/oracle/app sudo chmod -R 775 /home/oracle/app ``` ##### 6. **跳过`ins_ctx.mk`错误(临时方案)** ```bash # 编辑数据库安装响应文件(如无响应文件,需手动取消勾选) # 在安装界面中取消选择 "Oracle Text" 组件 # 或安装时添加跳过参数: ./runInstaller -ignoreSysPrereqs -ignorePrereq -showProgress -silent \ -responseFile /path/to/response.rsp ``` ##### 7. **手动编译`ctx`组件** ```bash cd $ORACLE_HOME/ctx/lib make -f ins_ctx.mk install ``` - **若报错缺少库文件**: 添加库路径到环境变量: ```bash export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib ``` --- #### 三、关键日志分析 检查错误日志 `/home/oracle/app/oralnventory/logs/installActions2025-03-14_02-42-47PM.log`: ```bash # 查找关键字 [ERROR], [FATAL] grep -E 'ERROR|FATAL' /path/to/installActions2025-03-14_02-42-47PM.log ``` **常见日志内容及对策**: 1. **`Error in invoking target 'agent nmhs'`** 需安装`libnsl`: ```bash sudo yum install -y libnsl ``` 2. **`libclntsh.so.11.1: cannot open shared object file`** 检查`LD_LIBRARY_PATH`是否包含`$ORACLE_HOME/lib` --- #### 四、故障树 ``` Oracle安装失败(ins_ctx.mk) ├─ 安装介质损坏 ├─ 环境变量错误(ORACLE_HOME路径异常) ├─ 缺少依赖包(libaio-devel等) ├─ 未应用Linux 7兼容性补丁 └─ 权限不足(用户无法写入安装目录) ``` --- #### 五、验证安装 1. **检查Oracle进程** ```bash ps -ef | grep pmon # 应显示_PMON进程 ``` 2. **连接测试** ```bash sqlplus / as sysdba SQL> SELECT status FROM v$instance; # 预期输出:OPEN ``` --- ### 总结建议 1. **推荐升级到Oracle 19c**:Oracle 11g已停止支持,且在新系统上兼容性问题较多。 2. **使用DBCA静默安装**:避免图形界面依赖问题: ```bash dbca -silent -createDatabase \ -templateName General_Purpose.dbc \ -gdbname ORCL -sid ORCL \ -responseFile NO_VALUE \ -characterSet AL32UTF8 \ -memoryPercentage 40 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值