转自:
Oracle RAC One Node与Oracle RAC的区别Oracle Real Application Clusters One Node 是 Oracle 11g R2一个新选件。RAC One Node可以创建一种特殊类型的 RAC 数据库:一个节点上只运行一个实例。如果某个节点发生故障,那么可以将另一个实例安排到集群中的其他节点上以继续处理。 在某种程度上而言,RAC One Node是一个完整的 RAC 数据库,但是由于只有一个实例运行,不存在跨实例通信,因此可能感受不到由此产生的性能问题。
但这并不意味着另一个处于被动状态的“节点”成了浪费的资源。对于这个数据库而言,另一个节点当然是被浪费了。但是你可以在被动服务器上为其他数据库创建 实例,这样就使其成为该数据库的主动服务器。通过以这种方式使用许多数据库,可以创造一种负载平衡的假象,同时使所有这些数据库具有更好的可用性。用于数 据库的主动/被动节点的服务器组称为“服务器池”。
此外,RAC One Node还使客户能够对数据库存储进行虚拟化、对自己的数据库环境进行标准化,并且在需要的时候,不用停机或中断即可升级为一个完全多节点的 Oracle RAC 数据库。而且,它还与服务器虚拟化完全兼容并弥补其不足,使客户可以构建兼具Oracle RAC One Node 和服务器虚拟化二者优势的环境。
Oracle RAC One Node应用价值
- 新的单实例RAC配置
- 把多个实例整合到一个服务器上(操作系统整合)
- 为运行在物理服务器上数据库提供服务器虚拟化的价值
- 固有的集群故障切换功能提供高可用性保护
- 数据库例程在Cluster节点之间的在线迁移
- 为单例程数据库安装滚动补丁
- 在线升级到RAC
- 跨接所有Oracle数据库的标准化部署
一个典型的Oracle One Node部署如下图:
我们可以看到,在该示例配置中,五个单实例 Oracle RAC One Node 数据库运行在一个由三台服务器组成的集群中。服务器 A 承载 Oracle RAC One Node 数据库 DB1 和 DB2,服务器 B 承载数据库DB3,而服务器 C 承载数据库 DB4 和 DB5。每台服务器运行一个操作系统。在上面的服务器 A 和 C 中,多个数据库整合到一个操作系统上。
RAC One Node对比RAC的优势
RAC One Node可以提供与Oracle RAC 不相同的优势,我们可以了解它们之间的一些区别:
- RACOne Node更便宜;
- RACOne Node没有 RAC 那么复杂,并且可由经验不甚丰富的 DBA 提供支持;
- RACOne Node有其自己的一组命令,这些命令可使 DBA 免受 RAC 管理的某些细微差异的影响;
- 作为一个单独的节点,它不会产生高频率节点间通信的性能开销。
但RAC OneNode 绝不是的。由于仅使用集群的一个节点,因此,无法对同一数据库实现负载平衡。
对于使用RAC或RAC One Node的选择
对于选择使用RAC或者RAC One Node的时机,需要结合用户自身的应用情况和IT环境加以综合考虑。以下是几点用户需要考虑的关键点:
- OracleRAC
- 非常重要的应用程序- 几乎是零停机时间
- 性能要求非常高的应用程序,需要线性扩展
- 数据库整合
- OracleRAC One Node
- 中等程度的高可用性需求– 将计划内或计划外的停机小化
- 在一个服务器上运行就可以满足负载要求
- 需求增加,要求扩展到完整的RAC
- 操作系统和cluster整合
小结
RAC One Node可以理解成更底层的服务器级别的HA ,它提供一种冷故障切换方案,假设在2个节点的RAC One Node上,实例只在其中一个节点运行,另一个节点就作为冷备存在。如果实例失败,那么RAC One Node 检测到后,首先会在相同的节点尝试重新启动。如果当前节点出现问题,或者实例不能重新启动,那么实例会被转移到备份节点上去。转移过程是自动实现的,不需 要停机和人工的介入。转移使用的是Omotion,使用Omotion 可以对实例进行迁移。
简单的来说,RAC One Node也是基于多节点来实现,多节点之间也是需要安装Clusterware,多节点形成一个单集群,而实例只在其中一个节点上运行。当出现问题时通过 Omotion技术将实例转移到单集群中的其他节点上行。当然也可以手工使用Omotion来进行转移,从而实现零停机的升级和打补丁等操作。