【DB笔试面试715】在Oracle中, RAC 10g和11g在启动方面有什么差别?

【DB笔试面试715】在Oracle中, RAC 10g和11g在启动方面有什么差别?

题目部分

在Oracle中, RAC 10g和11g在启动方面有什么差别?

     

答案部分

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

1h1:35:respawn:/etc/init.d/init.evmd run >/dev/null 2>&1 </dev/null
2h2:35:respawn:/etc/init.d/init.cssd fatal >/dev/null 2>&1 </dev/null
3h3:35:respawn:/etc/init.d/init.crsd run >/dev/null 2>&1 </dev/null

其中,

l init.cssd负责启动ocssd.bin守护进程和其他CSS层面的守护进程,从而完成对集群的构建工作。

l init.crsd负责启动crsd.bin守护进程并调用相应的racg模块来启动相应的资源,从而完成集群应用程序资源的启动。

l init.evmd负责启动evmd.bin守护进程,从而实现集群节点的事件发布。

虽然以上3个脚本是被同时调用的,但是守护进程之间是有依存关系的。首先,需要启动ocssd.bin并确保其能够正常工作,之后才能够启动crsd.bin并确保其正常工作,最后启动evmd.bin并确保其正常工作。

再来看看Oracle 11gR2版本集群的/etc/inittab文件。

1h1:35:respawn:/etc/init.d/init.ohasd run >/dev/null 2>&1 </dev/null

只有脚本/etc/init.d/init.ohasd被调用,之前版本的3个脚本已经不存在了。

根据Oracle 10g、11gR1和11gR2版本的集群管理软件的启动脚本之间的不同,能看到从Oracle 11gR2版本开始,GI启动脚本变成了一个,而且脚本的长度也大大地减少。换句话说,ohasd.bin成为了集群启动的根(root)守护进程。

1[grid@node1 ~]$ ps -ef|grep ohas 
2root      4257     1  0 13:03 ?        00:00:18 /u01/grid/bin/ohasd.bin reboot
3root      4870     1  0 13:04 ?        00:00:00 /bin/sh /etc/init.d/init.ohasd run


上一篇:【DB笔试面试715】在Oracle中, RAC 10g和11g在启动方面有什么差别?


下一篇:【Oracle健康检查脚本加量不加价】对Oracle 10g、11g和12c版本分别提供了只读版