CentOS 6.3上Oracle 11gR2的自动启动

CentOS 6.3上Oracle 11gR2的自动启动

我已经使用 Oracle 11gR2 设置了一些 CentOS 5.6 服务器,并且没有遇到这个特定问题,但我在使用 CentOS 6.3 和自动启动 Oracle 时遇到了困难。不确定这是否与 CentOS 的新版本有关,或者与我的 PEBKAC 时刻有关,但我需要帮助。

我在 CentOS 6.3 上安装了可正常运行的 Oracle 11gR2。它运行并且正常运行。现在我只想让它从服务器开始。为此,我做了以下我通常做的事情:

创建/etc/init.d/oracle:

#!/bin/bash
#
# oracle Init file for starting and stopping
# Oracle Database. Script is valid for 10g and 11g versions.
# chkconfig: 35 80 30
# description: Oracle Database startup script

# Source function library.

. /etc/init.d/functions

ORACLE_OWNER="oracle"
ORACLE_HOME="/opt/app/oracle/product/11.2.0/db_1"

case "$1" in
        start)
                su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
                ;;
        stop)
                su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
                ;;
        *)
                echo $"Usage: $0 {start|stop}"
esac

然后运行以下两个命令:

  chmod 750 /etc/init.d/oracle
  chkconfig --add oracle --level 0356

然而,当我尝试service oracle start, (作为 root)时,我收到此错误:

env: /etc/init.d/oracle: No such file or directory

不知道如何找出我们正在寻找的文件。

如果我使用扩展的变量运行该脚本的实际启动命令,则数据库启动时不会出现错误。

su - oracle -c "/opt/app/oracle/product/11.2.0/db_1/bin/dbstart /opt/app/oracle/product/11.2.0/db_1"

那么...我在这里缺少什么?一些随意的网络搜索让我觉得这种方法应该仍然有效。

答案1

呸。发帖后就明白了...

整个问题是我在电脑上创建了“oracle”文件并上传了它。所以它的行尾是错误的。重建文件,一切正常。

相关内容