ITPub博客

首页 > 数据库 > Oracle > RAC之srvctl 命令不能用的问题

RAC之srvctl 命令不能用的问题

原创 Oracle 作者:静以致远√团团 时间:2013-11-30 20:49:47 0 删除 编辑
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

发现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
或者直接将这两行注释
#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
/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

保存退出,再试试:
[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/,如需转载,请注明出处,否则将追究法律责任。

上一篇: RAC备份与恢复
请登录后发表评论 登录
全部评论
每个人都有梦想,去实现吧!

注册时间:2013-11-14

  • 博文量
    164
  • 访问量
    2103642