概述
linux下设置oracle随操作系统启动而启动,停止而停止
1.oracle提供了两个脚本dbstart(启动)和dbshut(停止)启动和停止数据库和监听程序
The DB server software provides the two scripts to configure automatic DB startup/shutdown with the server machine. They are
$ORACLE_HOME/bin/dbstart
$ORACLE_HOME/bin/dbshut
首先需要调试这个两个脚本,单独调用这两个脚本启动和停止数据库
单独执行时会报如下错误:
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
原因是脚本中ORACLE_HOME_LISTNER=$1需要传入参数,所以需要修改脚本中ORACLE_HOME_LISTNER=$ORACLE_HOME
dbshut脚本同样需要修改
2.需要修改/etc/oratab中$ORACLE_SID:$ORACLE_HOME:N中的N改为Y如下
orcl:/u01/app/oracle/oracle/product/11.2.0.4/dbhome_1:Y
原因是dbstart和dbshut脚本里会判断这个文件中实例行是否Y,如果为N不进行启动和停止
第一种:
这是可以把dbstart脚本加入/etc/rc.local中
su - oracle -c /u01/app/oracle/oracle/product/11.2.0.4/dbhome_1/bin/dbstart
重启操作系统,发现oracle可以随操作系统启动而启动
这种方法有个问题再操作系统停止时,oracle数据库不会先操作系统停止前正常停止,而是强制停止
第二种:
把oracle做为操作系统服务随操作系统启动
编写一个启动和停止脚步 dbora 如下:
#!/bin/bash
#
# description: Oracle auto start-stop script.
#
# chkconfig: 2345 99 10
#
# processname: oracle
# config: /etc/oratab
# pidfile: /var/run/oracle.pid
# Source function library.
. /etc/init.d/functions
RETVAL=0
ORA_OWNER="oracle"
ORA_HOME="/u01/app/oracle/oracle/product/11.2.0.4/dbhome_1"
# See how we were called.
prog="oracle"
start() {
echo -n $"Starting $prog: "
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart"
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/dbora
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut"
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -r /var/lock/subsys/dbora
return $RETVAL
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?
把脚本放到oracle home/bin目录下并赋予执行权限
单独调式脚本 ./dbora start ./dbora stop 执行没有问题,把dbora添加为服务
拷贝dbora 到/etc/init.d目录下
[root@mydb3 init.d]# cp /u01/app/oracle/oracle/product/11.2.0.4/dbhome_1/bin/dbora /etc/init.d/dbora
赋予权限
[root@mydb3 init.d]# chmod 755 /etc/rc.d/init.d/dbora
添加为操作系统服务
[root@mydb3 init.d]# chkconfig --add dbora
[root@mydb3 init.d]# chkconfig --list dbora
dbora 0:off 1:off 2:on 3:on 4:on 5:on 6:off
测试操作系统重启,数据库一起重启
最后
以上就是魔幻野狼为你收集整理的centos 设置oracle 开机自启动的全部内容,希望文章能够帮你解决centos 设置oracle 开机自启动所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复