传统的Oracle RAC被用于多服务器架构体系,这此体系中,不同的rac 实例分别置于不同的服务器上。此架构防止了服务器非计划故障,比如os down,某个节点上的db down,因为透明应用程序故障切换(TAF)会重定向应用连接到集群中的另一个节点。比外,通过想集群中添加节点,RAC 可以提供横向扩展。
在Oracle 11gR2中有一个“RAC One Node”的新特性,它主张将RAC的一个实例运行在一台群集的服务器上。(虚拟出来一个实例运行在其他服务器上)它有一个快速的“实例重定向”的特性,来防止突发的服务器故障。
“Oracle Real Application Clusters One Node (Oracle RAC One Node) is a single instance of an Oracle Real Application Clusters (Oracle RAC) database that runs on one node in a cluster” by oracle 官方文档。
RAC ONE NODE 的架构图如下:
RAC ONE NODE 的特性:
1 通过Resource Manager Instance Caging和动态修改来限制单个数据库在集群中一个服务器上cpu 资源使用。
2 利用“数据库重定向”功能,如果实例所在服务器资源不足,用户可以在线重新将一个实例从服务器A 迁移到服务器B。
3 客户端通过使用SCAN来连接它所需要的服务。所以重定向oracle rac one node实例对应用端是透明的。
4 Oracle RAC One Node 可以在所有支持rac的平台上运行。
三 RAC 和 RAC One Node 都可以提供服务器和硬件故障保护(处理磁盘故障) ,两种保护的方式是不同的:
a) RAC failover: RAC 使用多个服务器节点 并且通过tnsnames.ora 指定将应用连接切换到存活的服务器上。
b) RAC One Node failover: RAC One Node 使用“实例重定向”的方法,当一个实例crash,RAC One Node 通过重新挂载磁盘,使用pfile/spfile 在另一个机器上重新启动那个失败的实例。
参考文章: