ORACLE自动启动方法

    技术2026-05-21  6

     

            前段时间整理的linux下ORACLE自动启动的方法,今天回顾一下:

     

    1.    Root用户登录,vi /etc/oratab         orcl:/u01/app/oracle/product/10.2.0/db_1:N 改为orcl:/u01/app/oracle/product/10.2.0/db_1:Y

       

    --------------------------------------------------------------------------------------------------2.    root 用户 在/etc/rc.d/init.d/目录下新建一个文件 oracle10g,把如下内容放到这个文件里,注意参数需要修改[root@rhel5 ~]# cd /etc/rc.d/init.d/ [root@rhel5 init.d]# touch oracle10g [root@rhel5 init.d]# chmod a+x oracle10g [root@rhel5 init.d]# vim oracle10g 

           

    #!/bin/bash# chkconfig: 345 99 10# description: Startup Script for Oracle Databases# /etc/rc.d/init.d/oracle10gexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1export ORACLE_SID=orclexport PATH=$PATH:$ORACLE_HOME/binORA_OWNR="oracle"

     

    # if the executables do not exist -- display errorif [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]thenecho "Oracle startup: can not start"exit 1fi

     

    # depending on parameter -- startup,shutdown,restart# of the instance and listener or usage displaycase "$1" in'start')

     

    # Oracle listener and instance startupecho -n "Starting oracle10g: "su - $ORA_OWNR -c "$ORACLE_HOME/bin/dbstart"touch /var/lock/subsys/oracle10gsu - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"su - $ORA_OWNR -c "$ORACLE_HOME/bin/isqlplusctl start"su - $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"echo "OK";;'stop')

     

    # Oracle listener and instance shutdownecho -n "shutting down oracle10g: "su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"su - $ORA_OWNR -c "$ORACLE_HOME/bin/isqlplusctl stop"su - $ORA_OWNR -c "$ORACLE_HOME/bin/dbshut"su - $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"rm -f /var/lock/subsys/oracle10gecho "OK";;'reload|restart')$0 stop$0 start;;*)echo "Usage:'basename $0' start|stop|restart|reload"exit 1esacexit 0

       

    -----------------------------------------------------------------------------------------------------3.使用oracle用户修改$ORACLE_HOME/bin/dbstart文件:

     

    # su - oracle

     

    $ cd $ORACLE_HOME/bin

     

    $ gedit dbstart

     

    找到 ORACLE_HOME_LISTNER=.....这行, 修改成

     

    ORACLE_HOME_LISTNER=/u01/app/oracle/product/10.2.0/db_1

     

    或者直接修改成:

     

    ORACLE_HOME_LISTNER=$ORACLE_HOME

     

    注意:是修改,不是增加,可是使用gedit的查找功能查找:

     

    确保执行dbstart命令没有错误,如果不修改上面的路径,dbstart会报错

       

    --------------------------------------------------------------------------------------------------------

     

    4.ROOT用户编辑 /etc/rc.d/rc.local 文件,目前我这边保留的是如下:

     

    #!/bin/sh## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V style init stuff.

     

    touch /var/lock/subsys/localsu - oracle -lc "/u01/app/oracle/product/10.2.0/db_1/bin/lsnrctl start"su - oracle -lc "/u01/app/oracle/product/10.2.0/db_1/bin/dbstart"

         

    重启操作系统,就可以自动启动了

    最新回复(0)