前几天安装一台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的链接文件。