ORACLE RAC--libpthread.so.0: cannot open shared object file解决方法
安装配置完RAC后,使用ORACLE用户执行如下命令:
[oracle@rac1 ~]$ srvctl
/u01/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
解决方法:
这个错误一般是在linux 5上装10G RAC时会碰到的,当安装界面提示你用root脚本执行相应脚本时碰到,如:
Oracle CRS stack installed and running under init(1M)
Running vipca(silent) for configuring nodeapps
/u01/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
其实这是无法完成vipca工作导致的,可以通过以下方法解决:
方法1.不去理会,选择继续,然后安装10.2.0.4及以上版本的patchsets,然后在来手工执行vipca完成vip配置工作,因为这个错误在10.2.0.4版本中已经得到修复
方法2.手工配置
[root@rac1 ~]# # ./oifcfg setif -global eth0/172.21.1.0:public
[root@rac1 ~]# # ./oifcfg setif -global eth1/10.10.10.0:cluster_interconnect
[root@rac1 ~]# # ./oifcfg getif
eth0 172.21.1.0 global public
eth1 10.10.10.0 global cluster_interconnect
[root@rac1 ~]# # ./oifcfg iflist
eth0 172.21.1.0
eth1 10.10.10.0
然后修改vipca和srvctl ,搜索LD_ASSUME_KERNEL
在下方添加如下
unset LD_ASSUME_KERNEL
再执行./vipca
然后选择图形界面里的重新验证,这样就可以通过了
注意事项:
配置用户环境变量时,需要把CRS的环境变量写在ORACLE_HOME前面,否则,不会生效,配置如下:
[oracle@rac1 ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
alias sqlplus='/usr/local/rlwrap/bin/rlwrap sqlplus'
alias rman='/usr/local/rlwrap/bin/rlwrap rman'
unset USERNAME
export ORACLE_BASE=/u01/oracle
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export CRS_HOME=$ORACLE_BASE/product/crs
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_ADMIN=$ORACLE_HOME/network/admin
export ORA_NL$33=$ORACLE_HOME/ocommon/nls/admin/data
export PATH=/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:$PATH
export ORACLE_SID=RAC1
export PATH=$CRS_HOME/bin:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:$PATH
export LANG=en_US
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
[oracle@rac1 ~]$ source .bash_profile
[oracle@rac1 ~]$ srvctl
Usage: srvctl <command> <object> [<options>]
command: enable|disable|start|stop|relocate|status|add|remove|modify|getenv|setenv|unsetenv|config
objects: database|instance|service|nodeapps|asm|listener
For detailed help on each command and object and its options use:
srvctl <command> <object> -h
此时,srvctl可以正常使用了。