硬件资源是由OS
kernel管理的,应用软件是不能直接访问硬件的,必须通过OS kernel提供的API接口间接访问,OS kernel
出来要完成用户的请求,还通过进程调度等机制来控制多进程对资源的使用。
在单机环境下,oracle是运行下OS
Kernel之上,OS kernel负责管理硬件设备,并提供硬件的访问接口,oracle不直接提供操作硬件,而是由OS
kernel代替它来完成对硬件的调用请求
到了集群环境,存储设备是共享的,OS
kernel的设计师针对单机的,只能控制单机上多个进程之间的访问,如果还依赖OS
Kernel的服务,就无法保证多个主机间的协调工作。这就需要引入额外的控制机制,在RAC环境中,这个机制就是位于ORACLE与OS
kernel之间的Clusterware,它会在OS kernel之前截获请求
然后和其他节点上的Cluterware协商,最终完成上层的请求。
集群环境之所以能够提供高可用性,是因为集群软件(CRS)对运行于其上的应用进行监视,
并在发生异常时进行重启、切换等干预手段