RAC好不容易装好,在练习管理时发现srvctl命令不能用(我的环境:RedHat5.4+clusterware10.2+oracle10.2)
[oracle@node1 bin]$ srvctl
/u01/oracle/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
提示说是bin路径不正确
[oracle@node1 bin]$ which srvctl
/u01/oracle/10.2.0/db_1/bin/srvctl
[oracle@node1 bin]$ echo $CRS_HOME
/u01/oracle/product/10.2.0/crs_1
[oracle@node1 bin]$ srvctl
/u01/oracle/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
提示说是bin路径不正确
[oracle@node1 bin]$ which srvctl
/u01/oracle/10.2.0/db_1/bin/srvctl
[oracle@node1 bin]$ echo $CRS_HOME
/u01/oracle/product/10.2.0/crs_1
发现srvctl的路径果然不正确,跟我自己设置的CRS_HOME不一致,就考虑到是环境变量的问题:
[oracle@node1 bin]$ 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 ORACLE_SID=mydb1
export ORACLE_BASE=/u01/oracle
export CRS_HOME=$ORACLE_BASE/product/10.2.0/crs_1
export ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$CRS_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
export EDITOR=vi
export PATH
环境变量配置无误,并且如网上其他高手所说,CRS_HOME已经配置在ORACLE_HOME前面了,为啥还会出错呢
又在网上找到资料,发现要想修改vipca一样修改srvctl文件:
[oracle@node2 ~]$ cd $CRS_HOME/bin
[oracle@node2 bin]$ vi srvctl
修改以下两行:
#Remove this workaround when the bug 3937317 is fixed
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
添加
unset LD_ASSUME_KERNEL
/u01/oracle/10.2.0/db_1/bin/srvctl
既然命令路径不正确,修改CRS_HOME下的命令文件肯定是没用的,就去/u01/oracle/10.2.0/db_1/bin/瞅了瞅
果然有srvctl文件,赶紧的修改这个命令文件:
[oracle@node1 bin]$ cd /u01/oracle/10.2.0/db_1/bin/
[oracle@node1 bin]$ vi srvctl
老方法
#Remove this workaround when the bug 3937317 is fixed
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
添加
unset LD_ASSUME_KERNEL
保存退出,再试试:
[oracle@node1 bin]$ srvctl
Usage: srvctl []
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 -h
成功了!哈哈
总结:在安装rac的时候,srvctl命令本身就是在/u01/oracle/10.2.0/db_1/bin/,只是修改CRS_HOME下的srvctl是没有用的
[oracle@node1 bin]$ 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 ORACLE_SID=mydb1
export ORACLE_BASE=/u01/oracle
export CRS_HOME=$ORACLE_BASE/product/10.2.0/crs_1
export ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$CRS_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
export EDITOR=vi
export PATH
环境变量配置无误,并且如网上其他高手所说,CRS_HOME已经配置在ORACLE_HOME前面了,为啥还会出错呢
又在网上找到资料,发现要想修改vipca一样修改srvctl文件:
[oracle@node2 ~]$ cd $CRS_HOME/bin
[oracle@node2 bin]$ vi srvctl
修改以下两行:
#Remove this workaround when the bug 3937317 is fixed
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
添加
unset LD_ASSUME_KERNEL
或者直接将这两行注释
# LD_ASSUME_KERNEL=2.4.19
# export LD_ASSUME_KERNEL
这下总可以了吧:
[oracle@node1 bin]$ srvctl
/u01/oracle/10.2.0/db_1/jdk/jre/bin/java: cannot open shared object file: No such file or directory
哦,麦噶登,还是不行
再次回来查看该命令的路径
[oracle@node1 bin]$ which srvctl
# LD_ASSUME_KERNEL=2.4.19
# export LD_ASSUME_KERNEL
这下总可以了吧:
[oracle@node1 bin]$ srvctl
/u01/oracle/10.2.0/db_1/jdk/jre/bin/java: cannot open shared object file: No such file or directory
哦,麦噶登,还是不行
再次回来查看该命令的路径
/u01/oracle/10.2.0/db_1/bin/srvctl
既然命令路径不正确,修改CRS_HOME下的命令文件肯定是没用的,就去/u01/oracle/10.2.0/db_1/bin/瞅了瞅
果然有srvctl文件,赶紧的修改这个命令文件:
[oracle@node1 bin]$ cd /u01/oracle/10.2.0/db_1/bin/
[oracle@node1 bin]$ vi srvctl
老方法
#Remove this workaround when the bug 3937317 is fixed
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
添加
unset LD_ASSUME_KERNEL
或者直接将这两行注释
#LD_ASSUME_KERNEL=2.4.19
#export LD_ASSUME_KERNEL
#LD_ASSUME_KERNEL=2.4.19
#export LD_ASSUME_KERNEL
保存退出,再试试:
[oracle@node1 bin]$ srvctl
Usage: srvctl []
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 -h
成功了!哈哈
总结:在安装rac的时候,srvctl命令本身就是在/u01/oracle/10.2.0/db_1/bin/,只是修改CRS_HOME下的srvctl是没有用的
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29320885/viewspace-1061743/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29320885/viewspace-1061743/