搭建完Oracle11g单实例数据库发现数据库不能开机自启解决办法

本文详细介绍了如何通过修改oratab文件和创建init.d脚本来实现Oracle数据库服务的开机自动启动,包括检查脚本文件存在性、数据库启动和停止流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先打开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 - ORAOWNERc"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 重启,数据库即可开机自动启动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值