10g RAC srvctl 命令报 libpthread.so.0 cannot open shared object file No such file or directory

运行srvctl 命令报错:
[oracle@rac1 u01]$ srvctl status nodeapps -n rac1
/u01/app/oracle/product/10.2.0/db_1/jdk/jre/bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory
 
      在安装CRS的时候,已经修改了vipca 和ORA_CRS_HOME下srvctl命令的中参数。 即unset LD_ASSUME_KERNEL参数。
      
       但还是报了这个错误,后来用which srvctl命令才发现了问题的所在:
 
[oracle@rac1 ~]$ which srvctl
/u01/app/oracle/product/10.2.0/db_1/bin/srvctl
 

       系统调用的是ORACLE_HOME下的srvctl。在安装完DB后并没有注释该文件中的LD_ASSUME_KERNEL参数。所以有两种解决办法 :

1:修改ORACLE_HOME下的srvctl,注释掉LD_ASSUME_KERNEL参数;

2:让系统调用ORA_CRS_HOME下的srvctl也就能避免错误了,即将ORA_CRS_HOME放在ORACLE_HOME的前面即可。

修改环境变量:
[oracle@rac1 ~]$ vi ~/.bash_profile
...
export PATH=$PATH:$ORA_CRS_HOME/bin:$ORACLE_HOME/bin:/usr/bin:/bin
...
  
       重新开了一个窗口,验证系统调用的srvctl 的位置:
 
[oracle@rac2 ~]$ which srvctl
/u01/app/oracle/product/crs/bin/srvctl



 *该错误的原因是,Linux 内核的这些版本会采用 Oracle 以前的一个解决办法,即在vipca 和 srvctl 中使用 LD_ASSUME_KERNEL 设置来修补 Linux 线程中的一个原有缺陷。

而这个解决办法在 OEL5、RHEL5 或 SLES10 上不再有效,故而产生错误,该错误在 10.2.0.4 补丁集中得以修复。

所以一般需注释以下文件中LD_ASSUME_KERNEL参数:

<ORA_CRS_HOME>/bin/vipca
<ORA_CRS_HOME>/bin/srvctl
<RDBMS_HOME>/bin/srvctl (If exists)
<ASM_HOME>/bin/srvctl # (If exists)


注释的方法有两种:
(1)使用unset
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
unset LD_ASSUME_KERNEL
 
(2)直接注释掉:
#LD_ASSUME_KERNEL=2.4.19

#export LD_ASSUME_KERNEL






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值