♣
题目部分
在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