今天在搭建好的两个节点的rac环境下执行srvctl命令报错
[oracle@linux1 ~]$ srvctl start database -dracdb
/u01/app/oracle/product/10.2.0/db_1/jdk/jre/bin/java:error while loading shared libraries: libpthread.so.0: cannot open sharedobject file: No such file or directory
当前遇到的问题
Oracle用户执行srvctl命令时报错
[oracle@linux1 ~]$ srvctl start database -dracdb
/u01/app/oracle/product/10.2.0/db_1/jdk/jre/bin/java:error while loading shared libraries: libpthread.so.0: cannot open sharedobject file: No such file or directory
Root用户执行srvctl命令却没问题
[root@linux1 ~]# srvctl start database -dracdb
其他一些重要相关信息
Root用户
[root@linux1 ~]# whichsrvctl
/u01/app/crs/bin/srvctl
环境变量profile文件内容
[root@linux1 ~]# cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export PATH=$PATH:/u01/app/crs/bin/
unset USERNAME
oracle用户
[oracle@linux1 ~]$ which srvctl
/u01/app/oracle/product/10.2.0/db_1/bin/srvctl
环境变量profile文件内容
[oracle@linux1 ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
alias ls="ls -FA"
# User specific environment and startupprograms
export ORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORA_CRS_HOME=/u01/app/crs
export ORACLE_SID=racdb1
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORA_CRS_HOME/lib
exportPATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH
[oracle@linux1 ~]$ echo $PATH
/u01/app/oracle/product/10.2.0/db_1/bin:/u01/app/crs/bin:/usr/lib64/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin
解决方法
修改下oracle用户的环境变量的path的顺序
export PATH=$ORA_CRS_HOME/bin:$ORACLE_HOME/bin:$PATH
[oracle@linux1 ~]$ source .bash_profile
验证结果
Oracle用户执行
[oracle@linux1 ~]$ srvctl start database -d racdb