ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 开机自动启动ORACLE ON Linux

开机自动启动ORACLE ON Linux

原创 Linux操作系统 作者:zhanglei_itput 时间:2010-05-17 15:21:46 0 删除 编辑

 
    在单实例Linux平台中,oracle是不会跟os启动而启动的,需要手工启动数据库,所以尝试使用如下自动启动数据库脚本,其中的em和isqlplus服务根据现有情况决定是否自动启动。
 
1.  首先编辑/etc/oratab文件
      确认哪些数据库可以使用dbstart命令启动,修改成Y(默认是N),例如:
      ora10g:/oracle/product/10.2.0/db:Y
      test:/oracle/product/10.2.0/db:Y

2. 创建启动关闭脚本/etc/init.d/dbora
# chmod +x /etc/init.d/dbora
[/etc/init.d/dbora]
#!/bin/bash
# Oracle init script. for Linux.
#
# chkconfig: 345 99 10
# description: Oracle Automatic Startup/Shutdown on Linux
ORACLE_OWNER=oracle
ORACLE_HOME=/home/oracle/product/10.2.0/db
case "$1" in
  start)
    echo "Starting Oracle Databases ... "
    echo "-------------------------------------------------" >> /var/log/oracle
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart" >> /var/log/oracle
    echo "Done."
    echo "Starting Oracle Listeners ... "
    echo "-------------------------------------------------" >> /var/log/oracle
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start" >> /var/log/oracle
    echo "-------------------------------------------------" >> /var/log/oracle
    echo "Done."
    echo "Starting Oracle10g DBConsole ... "
    echo "-------------------------------------------------" >> /var/log/oracle
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole" >> /var/log/oracle
    echo "Done."
    echo "Starting Oracle10g iSQLPlus ... "
    echo "-------------------------------------------------" >> /var/log/oracle
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/isqlplusctl start" >> /var/log/oracle
    echo "Done."
    echo "-------------------------------------------------" >> /var/log/oracle
    date +" %T %a %D : Finished." >> /var/log/oracle
    echo "-------------------------------------------------" >> /var/log/oracle
    touch /var/lock/subsys/oracle
    ;;
  stop)
    rm -f /var/lock/subsys/oracle
    echo "Stoping Oracle10g iSQLPlus ... "
    echo "-------------------------------------------------" >> /var/log/oracle
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/isqlplusctl stop" >> /var/log/oracle
    echo "Done."
    echo "Stoping Oracle10g DBConsole ... "
    echo "-------------------------------------------------" >> /var/log/oracle
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole" >> /var/log/oracle
    echo "Done."
    echo "Stoping Oracle Listeners ... "
    echo "-------------------------------------------------" >> /var/log/oracle
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop" >> /var/log/oracle
    echo "Done."
    echo "Stoping Oracle Databases ... "
    echo "-------------------------------------------------" >> /var/log/oracle
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut" >> /var/log/oracle
    echo "Done."
    echo "-------------------------------------------------" >> /var/log/oracle
    date +" %T %a %D : Finished." >> /var/log/oracle
    echo "-------------------------------------------------" >> /var/log/oracle
    ;;
  restart)
    $0 stop
    $0 start
    ;;
  *)
    echo "Usage: dbora {start|stop|restart}"
    exit 1
esac

3. 开机自动启动
    # chkconfig dbora on
    开机关闭自动启动
    # chkconfig dbora off
 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9252210/viewspace-662886/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-02-10

  • 博文量
    400
  • 访问量
    1224643