Oracle 11g R2安装实战从agent nmhs报错到系统调优的全链路指南在数据库技术领域Oracle 11g R2依然占据着企业级应用的重要地位。尽管新版本不断推出但大量传统系统仍运行在这一经典版本上。本文将分享一个完整的安装排错过程从环境准备到后期优化特别针对那些让DBA头疼的典型错误——比如著名的agent nmhs makefile报错。1. 环境准备与前置检查安装Oracle数据库从来不是简单的点击下一步就能完成的任务。在开始安装程序前我们需要确保系统环境满足所有必要条件。1.1 系统需求确认首先检查操作系统版本是否兼容cat /etc/redhat-release uname -mOracle 11g R2对内存和交换空间有明确要求组件最小要求推荐配置物理内存1GB4GB交换空间1.5倍内存2倍内存临时空间1GB5GB安装空间4.5GB20GB提示使用free -m和df -h命令验证系统资源是否达标1.2 依赖包安装常见的依赖问题往往导致安装失败。以下是必须安装的软件包组yum groupinstall Development Tools yum install -y binutils compat-libstdc-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c libaio libaio-devel libgcc libstdc libstdc-devel make sysstat unixODBC unixODBC-devel特别注意两个容易遗漏的包pdksh问题Oracle检查脚本仍使用这个旧名称但实际应安装kshlibXext图形界面安装时必需的库2. 安装过程中的典型错误处理即使准备充分安装过程中仍可能遇到各种报错。下面分析几个最常见的问题。2.1 agent nmhs makefile错误这个经典错误出现在安装进度约85%时错误信息如下Error in invoking target agent nmhs of makefile /opt/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk解决方法分三步定位问题文件vim $ORACLE_HOME/sysman/lib/ins_emagent.mk找到第176行附近修改为$(MK_EMAGENT_NMECTL) -lnnz11保存后点击Retry继续安装2.2 高版本库文件不被识别Oracle安装检查脚本有时无法识别较新版本的库文件尽管它们完全兼容。这时可以检查实际安装的库版本rpm -qa | grep libstdc如果确认版本高于要求但检查仍不通过可以临时安装旧版本库文件或直接勾选安装界面的Ignore All选项2.3 权限与用户组配置不正确的用户组设置会导致后续管理问题。建议采用以下配置创建必要的用户和组groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle设置目录权限chown -R oracle:oinstall /opt/oracle chmod -R 775 /opt/oracle3. 安装后的必要配置安装完成只是第一步合理的配置才能发挥数据库最佳性能。3.1 环境变量设置在oracle用户下的.bash_profile中添加export ORACLE_HOME/opt/oracle/product/11.2.0/dbhome_1 export PATH$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH$ORACLE_HOME/lib:/usr/lib export ORACLE_SIDorcl注意每次修改后执行source ~/.bash_profile使配置生效3.2 内存参数调整修改$ORACLE_HOME/dbs/init.ora中的关键参数参数推荐值说明sga_target物理内存的50%SGA总大小pga_aggregate_target物理内存的20%PGA总大小db_cache_sizeSGA的60%数据缓存区shared_pool_sizeSGA的25%共享池大小3.3 监听器配置创建监听器配置文件$ORACLE_HOME/network/admin/listener.oraLISTENER (DESCRIPTION_LIST (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST localhost)(PORT 1521)) ) )启动监听服务lsnrctl start4. 性能优化与日常维护数据库安装后的优化同样重要这直接影响系统长期运行的稳定性。4.1 AWR报告配置启用自动工作负载仓库(AWR)-- 修改快照保留策略 EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS( retention 43200, -- 保留30天(分钟) interval 60); -- 每小时收集一次生成AWR报告$ORACLE_HOME/rdbms/admin/awrrpt.sql4.2 定期维护脚本创建以下维护脚本并加入cron计划表空间监控SELECT tablespace_name, used_percent FROM dba_tablespace_usage_metrics WHERE used_percent 80;归档日志清理find $ORACLE_HOME/flash_recovery_area -name *.arc -mtime 7 -exec rm {} \;4.3 备份策略设置建议的RMAN备份配置CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT /backup/%U; -- 完整备份脚本 RUN { BACKUP DATABASE PLUS ARCHIVELOG; DELETE NOPROMPT OBSOLETE; }在实际项目中我发现最容易被忽视的是安装后的参数调优。许多DBA花费大量时间解决安装问题却忽略了简单的内存配置就能带来显著性能提升。例如将sga_target设置为物理内存的50%-60%往往能立即改善查询响应速度。
Oracle 11g R2安装踩坑实录:从报错‘agent nmhs’到成功启动的完整排错指南
发布时间:2026/6/4 15:10:21
Oracle 11g R2安装实战从agent nmhs报错到系统调优的全链路指南在数据库技术领域Oracle 11g R2依然占据着企业级应用的重要地位。尽管新版本不断推出但大量传统系统仍运行在这一经典版本上。本文将分享一个完整的安装排错过程从环境准备到后期优化特别针对那些让DBA头疼的典型错误——比如著名的agent nmhs makefile报错。1. 环境准备与前置检查安装Oracle数据库从来不是简单的点击下一步就能完成的任务。在开始安装程序前我们需要确保系统环境满足所有必要条件。1.1 系统需求确认首先检查操作系统版本是否兼容cat /etc/redhat-release uname -mOracle 11g R2对内存和交换空间有明确要求组件最小要求推荐配置物理内存1GB4GB交换空间1.5倍内存2倍内存临时空间1GB5GB安装空间4.5GB20GB提示使用free -m和df -h命令验证系统资源是否达标1.2 依赖包安装常见的依赖问题往往导致安装失败。以下是必须安装的软件包组yum groupinstall Development Tools yum install -y binutils compat-libstdc-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c libaio libaio-devel libgcc libstdc libstdc-devel make sysstat unixODBC unixODBC-devel特别注意两个容易遗漏的包pdksh问题Oracle检查脚本仍使用这个旧名称但实际应安装kshlibXext图形界面安装时必需的库2. 安装过程中的典型错误处理即使准备充分安装过程中仍可能遇到各种报错。下面分析几个最常见的问题。2.1 agent nmhs makefile错误这个经典错误出现在安装进度约85%时错误信息如下Error in invoking target agent nmhs of makefile /opt/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk解决方法分三步定位问题文件vim $ORACLE_HOME/sysman/lib/ins_emagent.mk找到第176行附近修改为$(MK_EMAGENT_NMECTL) -lnnz11保存后点击Retry继续安装2.2 高版本库文件不被识别Oracle安装检查脚本有时无法识别较新版本的库文件尽管它们完全兼容。这时可以检查实际安装的库版本rpm -qa | grep libstdc如果确认版本高于要求但检查仍不通过可以临时安装旧版本库文件或直接勾选安装界面的Ignore All选项2.3 权限与用户组配置不正确的用户组设置会导致后续管理问题。建议采用以下配置创建必要的用户和组groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle设置目录权限chown -R oracle:oinstall /opt/oracle chmod -R 775 /opt/oracle3. 安装后的必要配置安装完成只是第一步合理的配置才能发挥数据库最佳性能。3.1 环境变量设置在oracle用户下的.bash_profile中添加export ORACLE_HOME/opt/oracle/product/11.2.0/dbhome_1 export PATH$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH$ORACLE_HOME/lib:/usr/lib export ORACLE_SIDorcl注意每次修改后执行source ~/.bash_profile使配置生效3.2 内存参数调整修改$ORACLE_HOME/dbs/init.ora中的关键参数参数推荐值说明sga_target物理内存的50%SGA总大小pga_aggregate_target物理内存的20%PGA总大小db_cache_sizeSGA的60%数据缓存区shared_pool_sizeSGA的25%共享池大小3.3 监听器配置创建监听器配置文件$ORACLE_HOME/network/admin/listener.oraLISTENER (DESCRIPTION_LIST (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST localhost)(PORT 1521)) ) )启动监听服务lsnrctl start4. 性能优化与日常维护数据库安装后的优化同样重要这直接影响系统长期运行的稳定性。4.1 AWR报告配置启用自动工作负载仓库(AWR)-- 修改快照保留策略 EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS( retention 43200, -- 保留30天(分钟) interval 60); -- 每小时收集一次生成AWR报告$ORACLE_HOME/rdbms/admin/awrrpt.sql4.2 定期维护脚本创建以下维护脚本并加入cron计划表空间监控SELECT tablespace_name, used_percent FROM dba_tablespace_usage_metrics WHERE used_percent 80;归档日志清理find $ORACLE_HOME/flash_recovery_area -name *.arc -mtime 7 -exec rm {} \;4.3 备份策略设置建议的RMAN备份配置CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT /backup/%U; -- 完整备份脚本 RUN { BACKUP DATABASE PLUS ARCHIVELOG; DELETE NOPROMPT OBSOLETE; }在实际项目中我发现最容易被忽视的是安装后的参数调优。许多DBA花费大量时间解决安装问题却忽略了简单的内存配置就能带来显著性能提升。例如将sga_target设置为物理内存的50%-60%往往能立即改善查询响应速度。