【正确答案】从集群的启动角度来讲,Oracle 10g、11gR1版本的集群是通过/etc/inittab文件中的以下3行代码来启动的。

其中,init.cssd负责启动ocssd.bin守护进程和其他CSS层面的守护进程,从而完成对集群的构建工作。init.crsd负责启动crsd.bin守护进程并调用相应的racg模块来启动相应的资源,从而完成集群应用程序资源的启动。init.evmd负责启动evmd.bin守护进程,从而实现集群节点的事件发布。
虽然以上3个脚本是被同时调用的,但是守护进程之间是有依存关系的。首先,需要启动ocssd.bin并确保其能够正常工作,之后才能够启动crsd.bin并确保其正常工作,最后启动evmd.bin并确保其正常工作。
再来看看Oracle 11gR2版本集群的/etc/inittab文件。

只有脚本/etc/init.d/init.ohasd被调用,之前版本的3个脚本已经不存在了。该脚本被调用,负责启动ohasd.bin守护进程。
根据Oracle 10g、11gR1和11gR2版本的集群管理软件的启动脚本之间的不同,能看到从Oracle 11gR2版本开始,GI启动脚本变成了一个,而且脚本的长度也大大地减少。换句话说,ohasd.bin成为了集群启动的根(root)守护进程。
