设置Oracle11g开机自动启动:

在Redhat和Centos中设置允许ORACLE 系统自动启动,默认情况下是 设置为不允许的。

1.在root 账户下修改/etc/oratab 文件:

  # vi /etc/oratab

   orcl=/db/app/oracle/product/11.1.0/db_1 :N     最后的N 改为Y,


2.在oracle 账户下修改ORACLE 自带的启动与关闭脚本,分别是dbstart 和dbshut。

 这两个脚本就可以实现ORACLE 脚本的启动与关闭。

  账户下修改$ORACLE_HOME/bin/dbstart 文件: 

   $ cd $ORACLE_HOME/bin 

   $ vi dbstart

   找到ORACLE_HOME_LISTNER=$1 这一行 改为:ORACLE_HOME_LISTNER=$ORACLE_HOME

   

   $ cd $ORACLE_HOME/bin 

   $ vi dbshut

   找到ORACLE_HOME_LISTNER=$1 这一行 改为:ORACLE_HOME_LISTNER=$ORACLE_HOME


# cd  /etc/rc.d/init.d/

vim oracle.sh

 #!/bin/bash

 #chkconfig: 2345 80 25

 # /etc/init.d/oracle11g

 #description: ORACLE 11g Server

 # Run-level Startup script. for the Oracle Listener and Instances

 # It relies on the information on /etc/oratab

 export ORACLE_BASE=/u01

 export ORACLE_HOME=/u01/app/oracle/product/11.1

 export ORACLE_SID=ora11g

 export ORACLE_OWNR=oracle

 export PATH=$PATH:$ORACLE_HOME/bin

 if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]

 then

echo "Oracle startup: cannot start"

 exit 1

 fi

 case "$1" in

 start)

 # Oracle listener and instance startup

 echo -n "Starting Oracle: "

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

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

 touch /var/lock/oracle

 echo "OK"

 ;;

 stop)

 # Oracle listener and instance shutdown

 echo -n "Shutdown Oracle: "

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

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

 rm -f /var/lock/oracle

 echo "OK"

 ;;

 reload|restart)

 $0 stop

 $0 start

 ;;

 *)

 echo "Usage: `basename $0` start|stop|restart|reload"

 exit 1

 esac

 exit 0


chkconfig --add oracle   # 添加服务

chkconfig oracle  on     # 启动自动运动

chkconfig --list oracle   # 查看是否成功