当Oracle集群安装部署完成后,集群会处于一个启动的状态,默认情况下,当服务器重启之后集群也会被自动启动,那么,Oracle集群是如何来实现自启动的呢?
我们先看如下部分:
Oracle 10G:
cat /etc/inittab
h1:35:respawn:/etc/init.d/init.evmd run >/dev/null 2>&1 </dev/null
h2:35:respawn:/etc/init.d/init.cssd fatal >/dev/null 2>&1 </dev/null
h3:35:respawn:/etc/init.d/init.crsd run >/dev/null 2>&1 </dev/null
Oracle 11G:
cat /etc/inittab
h1:35:respawn:/etc/init.d/init.ohasd run >/dev/null 2>&1 </dev/null
在Oracle10g版本中,系统启动时由init进程根据/etc/inittab配置文件来派生出集群的高可用守护进程,在Oracle 11g中,init仅派生出init.ohasd,然后由init.ohasd启动ohasd.bin实现集群的自启动。
另外,由于RedHat Linux 6.x弃用了inittab文件,目前配置init.ohasd进程的文件由/etc/inittab变为/etc/init/oracle-ohasd.conf。
[root@rac1 init]# cat /etc/rc.d/init.d/oracle-ohasd.conf
# Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
#
# Oracle OHASD startup
start on runlevel [35]
stop on runlevel [!35]
respawn
exec /etc/init.d/init.ohasd run >/dev/null 2>&1 </dev/null
[root@rac1 ]#
在Red Hat 7.*以上版本中,init.ohasd脚本配置又一次发生变化,init.ohasd以service形式配置在/etc/systemd/system下。
Red Hat Linux 7.*
#cat /etc/systemd/system