Ubuntu 16.04.4 LTS安装Oracle 12c时ins_sqlplus.mk报错求助
解决Oracle 12c在Ubuntu 16.04.4 LTS安装时ins_sqlplus.mk的'install'目标报错问题
我之前在Ubuntu 16.04环境部署Oracle 12c时,也碰到过完全一样的报错,折腾了好一阵才解决。结合当时的排查经验,给你几个针对性的修复步骤:
1. 补装缺失的libnsl依赖库
Ubuntu 16.04默认没有预装libnsl,但这是Oracle编译sqlplus组件的关键依赖:
sudo apt-get update sudo apt-get install libnsl-dev libnsl2
安装完成后,切换到Oracle安装目录的对应路径重新执行编译:
cd $ORACLE_HOME/sqlplus/lib make -f ins_sqlplus.mk install
2. 调整LD_LIBRARY_PATH环境变量顺序
环境变量里的库路径优先级不对,会导致编译时找不到正确的依赖文件。先检查当前路径配置:
echo $LD_LIBRARY_PATH
确保$ORACLE_HOME/lib和/usr/lib/x86_64-linux-gnu排在最前面,临时调整后再尝试编译:
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH cd $ORACLE_HOME/sqlplus/lib make -f ins_sqlplus.mk install
如果临时生效,记得把这个配置写入Oracle用户的~/.bashrc,避免重启后失效。
3. 修复系统头文件的软链接
Ubuntu的头文件路径和Oracle编译预期的路径不匹配,需要手动创建软链接:
sudo ln -s /usr/include/linux /usr/include/sys sudo ln -s /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/sys/types.h
完成后重新运行install目标的编译命令。
4. 修正Oracle安装目录的权限
如果之前不小心用root用户执行过部分安装步骤,会导致目录权限异常,需要修复:
sudo chown -R oracle:oinstall $ORACLE_HOME sudo chmod -R 755 $ORACLE_HOME
切换到oracle用户后再执行编译:
su - oracle cd $ORACLE_HOME/sqlplus/lib make -f ins_sqlplus.mk install
如果以上步骤都没解决问题,建议把ins_sqlplus.mk编译时的具体报错信息(比如哪一行编译失败、错误提示内容)贴出来,能更精准定位问题。
内容的提问来源于stack exchange,提问作者Thiago Siqueira
相关产品推荐
相关产品推荐

