RedHat Linux下Oracle启动脚本的建立

发表于:2007-07-01来源:作者:点击数: 标签:
一、修改$ORACLE_HOME/bin/dbstart脚本 首先 测试 你的$ORACLE/bin/dbstart脚本,如果能正常启动Oracle,请跳到第二部分。本人运行环境为RedHat7.1+Oracle8.1.6,发现dbstart脚本有问题,不能得到当前运行的Oracle的版本号。编辑dbstart,找到 STATUS=1 if [
一、修改$ORACLE_HOME/bin/dbstart脚本
首先测试你的$ORACLE/bin/dbstart脚本,如果能正常启动Oracle,请跳到第二部分。本人运行环境为RedHat7.1+Oracle8.1.6,发现dbstart脚本有问题,不能得到当前运行的Oracle的版本号。编辑dbstart,找到
STATUS=1
if [ "$VERSION" = "8.1" ]
在之前加上
VERSION="8.1"

二、建立/etc/init.d/oracle脚本如下:#!/bin/bash
#
# oracle This shell script takes care of starting and stopping
# the MySQL subsystem (mysqld).
#
# chkconfig: - 90 10
# description: Oracle database server.
# processname: oracle

ORA_HOME=/home/oracle
ORA_OWNER=oracle

prog="Oracle"

# Source function library.
. /etc/rc.d/init.d/functions

if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi

start(){
su - $ORA_OWNER -c $ORA_HOME/bin/dbstart >/dev/null 2>&1 &
ret=$?
if [ $ret -eq 0 ]; then
action $"Starting $prog: " /bin/true
else
action $"Starting $prog: " /bin/false
fi
[ $ret -eq 0 ] && touch /var/lock/subsys/oracled
return $ret
}

stop(){
su - $ORA_OWNER -c $ORA_HOME/bin/dbshut >/dev/null 2>&1
ret=$?
if [ $ret -eq 0 ]; then
action $"Stopping $prog: " /bin/true
else
action $"Stopping $prog: " /bin/false
fi
[ $ret -eq 0 ] && rm -f /var/lock/subsys/oracled
return $ret
}
restart(){
stop
start

}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
condrestart)
condrestart
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
三、运行命令chkconfig --add oracle,注册系统服务,然后就可以用ntsysv命令来管理你的Oracle服务了。

四、可以到
http://fancao.oso.com.cn/script/dbstart
http://fancao.oso.com.cn/script/oracle
下载本文所提及文件。

五、如果您有什么问题请及时和作者联系,作者Email为:
fancao0515@0451.com

原文转自:http://www.ltesting.net