red hat下Oracle服务自启动的方法

setup 、rc.local 和chkconfig三种方式均可以设置

第一种)
输入#setup指令进入系统服务菜单,选择你想启动的服务好比oralce,而后重起机器或者/etc/rc.d./init.d/oralce start bash


第二种)
把启动命令放到/etc/rc.d/rc.local文件里这样就能够每次启动的时候自动启动服务了,例如对于oracle,安装好Oracle后会在安装目录的bin下生成dbstart文件,这是个启动脚本,咱们只须要把这个命令加到rc.local里就能够了
以下所示:
su - oracle -c "/u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"    --以Oracle用户执行命令
su - oracle -c "/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart"   ----以Oracle用户执行命令
须要注意的是,这种方法还须要作一步,那就是须要修改/etc/oratab文件,由于dbstart文件受/etc/oratab控制,dbstart文件只能启动/etc/oratab文件中第三列为Y的SID。
用root用户在/etc/oratab文件修改Oracle实例对应的那一行,通常会存在这么一行的,若是没有,就本身新建一行。以下所示
rzrqksjy:/u01/app/oracle/product/11.2.0/dbhome_1:    ---rzrqksjy为我本地的实例名 
 
第三种)
经过chkconfig指令
使用chkconfig命令来把某项服务加到系统的各项运行级别中,步骤以下,
1 建立启动脚本.
在/etc/rc.d/init.d/目录下建立Oracle脚本,咱们须要在脚本的前面加上一下几行,才能支持chkconfig命令
#!/bin/bash
# chkconfig: 2345 99 10
# description: startup script for oracle database
#/etc/rc.d/init.d/oracle
export ORACLE_BASE=/home/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/dbhome_1
export ORACLE_SID=rzrqksjy
export PATH=$PATH:$ORACLE_HOME/bin
case "$1" in
start)
echo "---------------startup oracle----------------" >>/var/log/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbstart"
su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"   ---em视状况启动,若是不想启动了,就注释掉
touch /var/lock/subsys/oracle
echo "---------------stratup oracle successful----" >>/var/log/oraclelog
echo "OK"
;;
stop)
echo "---------------stutdown oracle----------------" >>/var/log/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbshut"
su oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"   ---em没有自启动,这一步不须要写
rm -f  /var/lock/subsys/oracle
echo "---------------shutdown oracle successful----" >>/var/log/oraclelog
echo "OK"
;;
*)
echo ''usage: 'basename $0' start|stop"
exit 1
esac
exit 0

chkconfig:后面定义的是启动服务的运行级别(例子中是2345启动改服务),以及关闭和启动服务的顺序。
descriptions:对服务的描述,你能够换成本身想要的。
2 增长启动项到chkconfig列表中

chmod 700 /etc/rc.d/init.d/oracle   --赋权
chkconfig --level 2345 oracle on  ---其实等同于chkconfig oracle on,由于默认就是2345级别

以后就能够了,之后每次从新启动服务器都会自动启动和关闭咱们的服务了
 
 
上述方法中,通常后两种用的较多,若是你使用chkconfig --list|grep oracle 发现没有返回结果,但Oracle又是正常启动的,那么可能就是方法2的自启动方法。
 
--祝你们好运,祝工做愉快!
相关文章
相关标签/搜索