ORACLE的啟動指令碼

lfree發表於2007-08-14

前幾天安裝一臺oracle資料庫,重新啟動後發現無法啟動,才知道以前安裝單個例項的需要修改/etc/oratab檔案,將最後一個引數改為Y。
orcl:/u01/app/oracle/product/10.2.0/db_1:Y

參考了其他一些文件,啟動指令碼如下:


#! /bin/bash
# start and stop the Oracle Instance
#
# chkconfig: 345 91 19
# description: Starts the Oracle listener and instance

. /etc/rc.d/init.d/functions

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl
export NLS_LANG=AMERICAN_AMERICA.us7ascii
export ORACLE_OWNER="oracle"

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup : can not start "
exit 1
fi

case "$1" in
start)
# Startup the Oracle listener and instance
echo -n "Oracle startup:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start" >/dev/null 2>&1
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME" >/dev/null 2>&1
touch /var/lock/subsys/oracle
daemon echo -e "Finished "
echo ""
;;
stop)
# Shutdown the Oracle listener and instance
echo -n "Oracle shutdown:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop" > /dev/null 2>&1
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME" > /dev/null 2>&1
rm -f /var/lock/subsys/oracle
daemon echo -e "Finished "
echo ""
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/rc.d/init.d/oracle {start|stop|restart|reload}"
exit 1
esac
exit 0


注意要根據需要修改 ORACLE_SID ,NLS_LANG 等引數,命名為oracle,放入/etc/rc.d/init.d目錄,執行
chkconfig add oracle
chkconfig --level 35 oracle on

就可以加入服務。看看/etc/rc3.d 看看是否存在oracle的連結檔案。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-83085/,如需轉載,請註明出處,否則將追究法律責任。

相關文章