Centos6.4 Oracle11g随机启动和关闭

配置步骤:
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"

猜你喜欢

转载自czhwin.iteye.com/blog/1856306