INSSERV问题 - 脚本未启动启动



我试图在我的Linux发行版(OpenSuse 12.2)开始时开始Oracle开始。手动运行时该脚本正常工作。但是重新启动什么也没发生。当我运行inserv时,我会在下面获取这些消息,任何想法为什么?

insserv:警告:脚本 dbora' overwrites defaults (2 3 4 5). insserv: warning: current stop runlevel(s) (empty) of script dbora'覆盖默认值(2 3 4 5)的当前启动runlevel(s)(3 5)。

这是脚本:

#!/bin/bash
### BEGIN INIT INFO
# Provides:          my_oracle_database
# Required-Start:    $local_fs $syslog
# Required-Stop:     $local_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: my_oracle_database
# Description:       my_oracle_database
### END INIT INFO
export PATH=/oracle10/product/10.2.0/bin:$PATH
case "$1" in 
     start | startup | go | on)
        su - oracle -c "/oracle10/product/10.2.0/bin/lsnrctl start"
        su - oracle -c /oracle10/product/10.2.0/bin/dbstart /oracle10/product/10.2.0/  
        ;; 
     stop | shutdown | halt | off)
        su - oracle -c "/oracle10/product/10.2.0/bin/lsnrctl stop"
        su - oracle -c /oracle10/product/10.2.0/bin/dbshut /oracle10/product/10.2.0/  
        ;; 
     *)
        ;; 
esac

您的问题可能是这些行:

su - oracle -c /oracle10/product/10.2.0/bin/dbstart /oracle10/product/10.2.0/
...
su - oracle -c /oracle10/product/10.2.0/bin/dbshut /oracle10/product/10.2.0/

su默认情况下,通过/bin/sh执行使用-c选项给定的命令,而将所有其他位置参数传递给shell除外(如$0$1,...):

# su nobody -c 'echo prog:$0 args:$@' a b c d
prog:a args:b c d

在您的脚本中,您缺少命令周围的引号,因此您正在执行dbstart/dbshut无参数,同时将通往Shell的路径作为$0

相关内容

  • 没有找到相关文章

最新更新