Linux环境下配置Oracle自启动


首先在/etc/rc.d/init.d/目录下配置Oracle的服务文件。

touch oracle10g
chmod a+x oracle10g

然后编辑此oracle10g文件。脚本内容如下。
[root@www.bkjia.com~]# vi /etc/rc.d/init.d/oracle

  #!/bin/bash
  #root
  #chkconfig:35 85 15
  #description:Oracle
  #/etc/rc.d/init.d/oracle
  ORACLE_BASE=/u01/app/oracle
  ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
  ORACLE_SID=orcl
  case "$1" in
  start)
  echo -n "Starting Oracle10g:"
  su - oracle -c dbstart >>$ORACLE_HOME/log/autostart.log
  su - oracle -c "lsnrctl start" >>$ORACLE_HOME/log/autostart.log
  su - oracle -c "emctl start dbconsole" >>$ORACLE_HOME/log/autostart.log
   ;;
  stop)
  echo -n "Shutting Down Oracle10g:"
  su - oracle -c "emctl stop dbconsole" >>$ORACLE_HOME/log/autostart.log
  su - oracle -c "lsnrctl stop" >>$ORACLE_HOME/log/autostart.log
  su - oracle -c dbshut >>$ORACLE_HOME/log/autostart.log
   ;;
  restart)
  echo -n "Restarting Oracle10g:"
  su - oracle -c dbshut >>$ORACLE_HOME/log/autostart.log
  su - oracle -c "lsnrctl stop" >>$ORACLE_HOME/log/autostart.log
  su - oracle -c "emctl stop dbconsole" >>$ORACLE_HOME/log/autostart.log
  su - oracle -c dbstart >>$ORACLE_HOME/log/autostart.log
  su - oracle -c "lsnrctl start" >>$ORACLE_HOME/log/autostart.log
  su - oracle -c "emctl start dbconsole" >>$ORACLE_HOME/log/autostart.log
   ;;
  *)
  echo "Usage: $0{start|stop|restart}"
  exit 1
  ;;
  esac
  exit 0

保存文件,退出以后,添加并启动察看服务。
/sbin/chkconfig --add oracle10g
/sbin/chkconfig --list oracle10g

修改Oracle系统配置文件/etc/oratab,如果没有oratab文件,执行root.sh生成该oratab文件。vi /etc/oratab文件
orcl:/home/oracle/ora/products/10.2.0:N
改成
orcl:/home/oracle/ora/products/10.2.0:Y
Y:代表随机启动,N:手动启动

重新启动Linux的时候,如果看到启动项Oracle出现OK,代表Oracle成功随Linux启动了。

相关内容