配置步骤:
1、修改dbstart和dbshut脚本
$ vi $ORACLE_HOME/bin/dbstart
找到
ORACLE_HOME_LISTNER=$1
改为
ORACLE_HOME_LISTNER=$ORACLE_HOME
$ vi $ORACLE_HOME/bin/dbshut
找到
ORACLE_HOME_LISTNER=$1
改为
ORACLE_HOME_LISTNER=$ORACLE_HOME
2、修改/etc/oratab
$ su - root
# vi /etc/oratab
找到
#
$ORACLE_HOME替换为
$ORACLE_HOME变量的值,$SID替换为$SID变量的值
$SID:$ORACLE_HOME:N
改为
$SID:$ORACLE_HOME:Y
3、编辑启动关闭脚本
# vi /etc/rc.d/init.d/oracle
#! /bin/bash
# chkconfig: 234 61 61
# description: Oracle 11g AutoRun Service
# /etc/rc.d/init.d/oracle
case "$1" in
start)
# starts oracle listener and instance
echo "Starting Oracle Database:"
su - oracle -lc "lsnrctl start"
su - oracle -lc dbstart
;;
stop)
# shutdown oracle listner and instance
echo "Shuting down Oracle Database:"
su - oracle -lc "lsnrctl stop"
su - oracle -lc dbshut
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: {start|stop|reload|restart}"
exit 1
esac
exit 0
4、检查脚本能否正确执行
# cd /etc/rc.d/init.d
# ./oracle start
# ./oracle stop
5、执行如下命令:
# chmod 750 /etc/rc.d/init.d/oracle
# ln -s /etc/rc.d/init.d/oracle /etc/rc2.d/S61oracle
# ln -s /etc/rc.d/init.d/oracle /etc/rc3.d/S61oracle
# ln -s /etc/rc.d/init.d/oracle /etc/rc4.d/S61oracle
# ln -s /etc/rc.d/init.d/oracle /etc/rc0.d/K61oracle
# ln -s /etc/rc.d/init.d/oracle /etc/rc6.d/K61oracle
# chkconfig --level 234 oracle on
备注:如果执行此命令出现oracle 服务不支持 chkconfig,请认真检查
/etc/rc.d/init.d/oracle脚本,是否复制到时候缺少了一些字母,本人就是复制的时候少了些字符,导致出现这个问题
# chkconfig --add oracle
注意:执行chkconfig时,需要在脚本中添加至少两行注释行(
第3步中),第一行告诉chkconfig该服务的运行级别;第二行添加关于服务的简要说明。
5、最后重启动一下linux操作系统,检查oracle是否自动启动成功
重新启动后,oracle启动成功,可以在系统启动界面看到相关信息
备注:
第二步可以替换,如果不创建oracle自启动脚本,可以直接在/etc/rc.d/rc.local文件中增加想启动的服务的语句即可
su - oracle -c "/usr/local/oracle/product/1120/bin/dbstart"
su - oracle -c "/usr/local/oracle/product/1120/bin/emctl start dbconsole"
su - oracle -c "/usr/local/oracle/product/1120/bin/emctl start dbconsole"