error while loading shared libraries: /u01/oracle/lib/libnnz11.so

本文详细介绍了在Linux环境下遇到SELinux权限拒绝加载特定库时的解决方案,包括使用chcon命令调整权限和禁用SELinux策略两种方法。

error while loading shared libraries: /u01/oracle/lib/libnnz11.so

[oradev@erp~]$ ./addlnctl.sh start VIS
sqlplus: error while loading shared libraries: /u01/oracle/lib/libnnz11.so: cannot restore segment prot after reloc: Permission denied
Linux下执行程序时发生错误: cannot restore segment prot after reloc: Permission denied

原来这是SELinux搞的鬼,解决办法有两个
1. 使用chcon 命令
示例: chcon -t texrel_shlib_t /usr/local/rsi/idl_6.1/bin/bin.linux.x86/*.so
2. 禁止掉SELinux
更改/etc/sysconfig/selinux 文件的内容为 SELINUX=disabled
或者更改系统》管理》系统安全级别和防火墙,里面禁止使用SELinux

或者试一下这个: /usr/sbin/semanage fcontext -a -t textrel_shlib_t $ORACLE_HOME/lib/*.so
### 解决 Linux 下 Oracle 登录时遇到的 `libsqlplus.so` 共享库加载错误 当尝试在 Linux 上启动 SQL*Plus 或其他 Oracle 客户端工具并收到类似于 "error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory" 的错误消息时,这通常意味着环境变量设置不正确或共享库路径未被正确配置。 #### 设置 Oracle 环境变量 为了使 Oracle 能够找到所需的共享库文件,需要确保设置了正确的 `$ORACLE_HOME` 和 `$LD_LIBRARY_PATH` 变量。这些可以在用户的 shell 配置文件中定义,比如 `.bash_profile` 或者通过执行特定脚本来完成: ```sh export ORACLE_HOME=/u01/app/oracle/product/9.2.0 export PATH=$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/lib ``` 上述命令会将 `/u01/app/oracle/product/9.2.0/lib` 添加到动态链接器查找路径中[^1]。 #### 创建必要的目录结构与权限调整 如果缺少某些必需的目录,则应创建它们,并赋予适当的所有权和访问权限给相应的用户组。例如: ```sh su - root mkdir -p /u01/app/oracle/product/9.2.0 chown -R oracle.oinstall /u01 mkdir /var/opt/oracle chown oracle.dba /var/opt/oracle chmod 755 /var/opt/oracle ``` 此操作可以确保 Oracle 进程能够正常读取所需资源。 #### 执行根用户脚本 对于多节点 RAC(Real Application Clusters)安装,在所有节点上运行 `root.sh` 是非常重要的一步。该脚本负责配置集群件和其他依赖项,从而允许应用程序顺利工作。具体做法如下所示: ```sh [root@rac2 ~]# /oracle/app/grid/product/11.2.0/root.sh ``` 注意:如果有尚未处理的问题存在,可能还需要应用补丁来解决问题后再继续执行这个脚本[^3]。 #### 检查现有文件属性 确认目标机器上的 `libsqlplus.so` 文件确实存在于预期位置并且具有可执行权限是非常有帮助的。可以通过下面的方式验证这一点: ```sh ls -l $ORACLE_HOME/lib/libsqlplus.so ``` 理想情况下,输出应该显示类似 `-rwxr-x--x` 的模式,表明文件是可以被执行的[^2]。 #### 总结建议 为了避免未来再次发生此类问题,推荐定期审查系统的环境配置以及保持软件版本更新至最新稳定版。此外,遵循官方文档中的指导来进行任何更改总是最安全的做法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值