ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Redhat6.5 + oracle 11gR2 设置数据库开机自启动

Redhat6.5 + oracle 11gR2 设置数据库开机自启动

原创 Linux操作系统 作者:mohan213 时间:2015-06-17 10:08:34 0 删除 编辑
鉴于上次断电问题导致开机后很多的单独数据库不能自动开机,总监又交给小菜一个任务,研究(上网找方法)下数据库开机自启。
小菜终于找到了,原创是centos6.4系统的,小菜用redhat6.5做实验,不得不承认linux家族的团结啊,到哪儿都好使。
言归正传,首先说下涉及修改的文件一共四个:
$ORACLE_HOME/bin/dbstart
$ORACLE_HOME/bin/dbshut
/etc/oratab
/etc/rc.d/init.d/oracle(需要自己创建,具体名字可以自己定)

修改dbstart文件  (oracle用户执行)
vim $ORACLE_HOME/bin/dbstart

找到 ORACLE_HOME_LISTNER=$1 这行, 修改成:
ORACLE_HOME_LISTNER=$ORACLE_HOME
完成后可以手动运行dbstart文件,来测试是否可以正确启动oracle
用法:./dbstart $ORACLE_HOME 就可以启动oracle

修改dbshut文件  (oracle用户执行)
vim $ORACLE_HOME/bin/dbshut
找到 ORACLE_HOME_LISTNER=$1 这行, 修改成:
ORACLE_HOME_LISTNER=$ORACLE_HOME

修改oratab文件 (root用户执行)

dbstart文件受/etc/oratab控制,dbstart文件只能启动/etc/oratab文件中第三列为Y的SID。
vim /etc/oratab
应该在最后一行
redhat6:/u01/app/oracle/product/11.2.0/db:Y (我的数据库SID为redhat6,如果没有的话按照这个格式自行添加)
所以将需要启动的oracle实例标志位改成Y

创建/etc/rc.d/init.d/oracle    (root用户执行)文件(名称自拟o(∩_∩)o )

touch  oracle
chmod  a+x  oracle

内容如下:

# !/bin/bash
# whoami
# root
# chkconfig: 345 51 49
# description: starts the oracle dabase deamons
#
#ORACLE_HOME=/opt/oracle
ORACLE_OWNER=oracle

ORACLE_DESC="Oracle 11g"

ORACLE_LOCK=/var/lock/subsys/oracle11g

case "$1" in

'start')

echo -n \"Starting ${ORACLE_DESC}:\"

runuser - $ORACLE_OWNER -c '$ORACLE_HOME/bin/lsnrctl start'

runuser - $ORACLE_OWNER -c '$ORACLE_HOME/bin/dbstart'

runuser - $ORACLE_OWNER -c '$ORACLE_HOME/bin/emctl start dbconsole'

touch ${ORACLE_LOCK}
echo
;;

'stop')

echo -n "shutting down ${ORACLE_DESC}: "

runuser - $ORACLE_OWNER -c '$ORACLE_HOME/bin/lsnrctl stop'

runuser - $ORACLE_OWNER -c '$ORACLE_HOME/bin/dbshut'

rm -f ${ORACLE_LOCK}
echo
;;

'restart')

echo -n "restarting ${ORACLE_DESC}:"
$0 stop
$0 start
echo
;;
*)

echo "usage: $0 { start | stop | restart }"

exit 1
esac

exit 0

脚本文件配置完成后,执行开机启动命令:
[root@oracle ~]# chkconfig  oracle on
然后监察启动设置:
[root@oracle ~]# chkconfig --list | grep oracle
oracle             0:off    1:off    2:on    3:on    4:on    5:on    6:off

现在可以试一下启动和关闭命令:
service oracle start
service oracle stop
或者是重启下虚拟机,发现数据库确实自启动了,大功告成,打完收工。。。。。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29029866/viewspace-1702241/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-03-11

  • 博文量
    11
  • 访问量
    39227