设置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 # 查看是否成功