首先打开Oracle设置的一个关卡:vi /etc/oratab,修改行:
orcl:/opt/oracle/11g:Y #默认为orcl:/opt/oracle/11g:N
此处代码参考别人的的,以root身份建立开机启动oracle服务的脚本:
vi /etc/init.d/oracle,添加如下脚本:
复制代码
!/bin/sh
chkconfig: 2345 20 80
description: Oracle dbstart / dbshut
以上两行为chkconfig所需
ORA_HOME=/u01/app/oracle/product/10.2.0/db_home1 #此处根据自己的ORACLE_HHOME进行设置。
ORA_OWNER=oracle
LOGFILE=/var/log/oracle.log
echo “#################################” >> {LOGFILE}
date +”### %T %a %D: Run Oracle” >>{LOGFILE} date +”### %T %a %D: Run Oracle” >>{LOGFILE}
if [ ! -f ORAHOME/bin/dbstart]||[!−fORAHOME/bin/dbstart]||[!−f{ORA_HOME}/bin/dbshut ]; then
echo “Error: Missing the script file ORAHOME/bin/dbstartorORAHOME/bin/dbstartor{ORA_HOME}/bin/dbshut!” >> {LOGFILE}
echo “#################################” >>{LOGFILE} echo “#################################” >>{LOGFILE}
exit
fi
start(){
echo “###Startup Database…”
su - ORAOWNER−c"ORAOWNER−c"{ORA_HOME}/bin/dbstart {ORA_HOME}”
echo “###Done.”
echo “###Run database control…”
su -{ORA_HOME}” echo “###Done.” echo “###Run database control…” su -{ORA_OWNER} -c "{ORA_HOME}/bin/emctl start dbconsole”
echo “###Done.”
}
stop(){
echo “###Stop database control…”
su - ${ORA_OWNER} -c "${ORA_HOME}/bin/emctl stop dbconsole”
echo “###Done.”
echo “###Shutdown Database…”
su - ${ORA_OWNER} -c "${ORA_HOME}/bin/dbshut ${ORA_HOME}”
echo “###Done.”
}
case “{ORA_HOME}/bin/emctl start dbconsole” echo “###Done.” } stop(){ echo “###Stop database control…” su - ${ORA_OWNER} -c "${ORA_HOME}/bin/emctl stop dbconsole” echo “###Done.” echo “###Shutdown Database…” su - ${ORA_OWNER} -c "${ORA_HOME}/bin/dbshut ${ORA_HOME}” echo “###Done.” } case “1” in
‘start’)
start >> LOGFILE;;‘stop′)stop>>LOGFILE;;‘stop′)stop>>{LOGFILE}
;;
‘restart’)
stop >> LOGFILEstart>>LOGFILEstart>>{LOGFILE}
;;
esac
date +”### %T %a %D: Finished.” >> {LOGFILE}
echo “#################################” >>{LOGFILE} echo “#################################” >>{LOGFILE}
echo “”
接着使用如下命令将 /etc/init.d/oracle 置为可执行文件:
chmod a+x /etc/init.d/oracle
然后 reboot 重启,数据库即可开机自动启动。