RedHatLinux下Oracle啟動腳本的建立dbstartoracle8.1.6
2024-08-29 13:35:31
供稿:網友
 
             一、修改$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 {startstoprestart}" 
exit 1 
esac 
三、運行命令chkconfig --add oracle,注冊系統服務,然后就可以用ntsysv命令來治理你的Oracle服務了。 
四、可以到 
http://fancao.oso.com.cn/script/dbstart 
http://fancao.oso.com.cn/script/oracle