编写oracle服务的运行脚本

[root@server ~]#vi /etc/init.d/oracle  

#!/bin/bash

# chkconfig: 2345 99 10

# description: Startup Script for oracle Databases

# /etc/init.d/oracle

export ORCL_BASE="/opt/oracle"

export ORACLE_HOME=$ORCL_BASE/product/11.2.0/dbhome_1

export ORACLE_OWNER=oracle

case "$1" in

 start)

   su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"

   su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"

   su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole"

   touch /var/lock/subsys/oracle11g

   ;;

 stop)

   su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole"

   su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"

   su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"

   rm -fr /var/lock/subsys/oracle11g

   ;;

 status)

   if ( pgrep "tnslsnr" && netstat -anpt | grep ":1521" ) &> /dev/null

     then

       echo "Oracle 11g Net Listener is running."

      else

       echo "Oracle 11g Net Listener is not running."

    fi

    if ( netstat -anpt | grep ":1158" && netstat -anpt | grep ":5520" ) &> /dev/null

      then

        echo "Oracle 11g Enterprise Manager is running."

      else

        echo "Oracle 11g Enterprise Manager is not running."

     fi

     ;;

  restart)

     $0 stop

     $0 start

     ;;

   *)

     echo "Usage: $0 {start|stop|restart|status}"

     exit 1

     ;;

esac

exit 0

给脚本设置权限并添加为系统服务

[root@server ~]#chmod +x /etc/init.d/oracle

[root@server ~]#chkconfig --add oracle

[root@server ~]#chkconfig oracle on