RedHat下Oracle开机自启动

10 篇文章 0 订阅
6 篇文章 0 订阅

RedHat下Oracle开机自启动

在完成Oracle安装后每次启动Oracle只能通过手动方式进行启动,但是通过相应的配置实现Oracle的开机自启动具体方法如下所示。

1、修改/etc/oratab文件
#vi /etc/oratab
#先找到orcl:/u01/app/oracle/product/11.2.0/dbhome_1:N 这行并修改为
orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y
#这里修改的意思是将不允许自动启动修改为允许自动启动
2、修改dbstart脚本
用oracle用户登陆并编辑$ORACLE_HOME/bin/dbstart这个脚本,找到ORACLE_HOME_LISTNER=$1这行并将其修改为
#ORACLE_HOME_LISTNER=$1
ORACLE_HOME_LISTNER=$ORACLE_HOME
3、Oracle启动

oracle的自启动主要有两种方式(我采用第一种,比较简单方便)
(1)、利用rc.local方式

修改rc.local文件
#oracle
su oracle -lc "/u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"
su oracle -lc /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart

(2)、利用RedHat服务
在/etc/init.d目录建一个oracle脚本文件

#!/bin/sh
#chkconfig: 2345 99 01
#description: ORACLE 11g Server
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
if [ ! -f $ORACLE_HOME/bin/dbstart ]
then
echo "ORACLE cannot start"
exit
fi
case "$1" in
'start')
echo "Starting Oracle Database..."
su - oracle -c "$ORACLE_HOME/bin/dbstart"
su - oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
;;
'stop')
echo "Stoping Oracle Database"
su - oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"
su - oracle -c "$ORACLE_HOME/bin/dbshut"
;;
esac

注意以上其中有两行注释,网上很多脚本因为少了这两行不能使服务自启动:
chkconfig: 2345 99 01
description: ORACLE 11g Server
其中chkconfig:2345 99 01 是指脚本将为运行级2、3、4、5启动oracle 10g服务,启动优先级为99,关闭优先级为01。
然后以root权限:
cd /etc/rc2.d
ln -s /etc/rc.d/init.d/oracle S99oracle
chkconfig –list oracle
chkconfig –level 2345 oracle on
重启系统,就可以在启动的过程中看到 Starting oracle,因为我们设置的优先级为99,一般是最后启动。[OK]以后就可以了。因为要启动emctl,可能有点慢,等待的时间要稍微长一点。
启动以后可以以root执行oracle start或者oracle stop来启动或停止服务。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值