Oracle RAC One Node是Oracle Database 11.2引入的Oracle数据库企业版的一个选项。它为单实例Oracle数据库提供了增强的高可用性,可以保护计划内和计划外的停机时间。
本文来自Oracle白皮书翻译
Oracle RAC One Node有以下优点:
增强Oracle数据库的可用性 为Oracle数据库整合提供便利(提供对多租户的支持) 方便进行数据库虚拟化
Oracle RAC One Node还允许客户对其数据库部署和管理进行标准化,整合数据库存储,如果需要,可以升级到完整的多节点Oracle RAC数据库,而无需停机或中断。
Oracle RAC One Node 12c - 概述
Oracle数据库与Oracle RAC One Node选项与Oracle RAC具有相同的基础架构。与Oracle RAC不同的是,它通常仅针对共享数据文件集(数据库)运行一个实例,该数据库完全支持Oracle RAC,但不能同时跨越多个硬件系统。
相反,如果此服务器上的服务器,实例或相关和受监视的组件出现故障,Oracle RAC One Node数据库实例将故障转移到集群中的另一台服务器。对于计划停机(例如操作系统或数据库修补)的情况,Oracle RAC One Node提供了一个独特的功能,即在线数据库重定位,它允许将数据库从一个服务器重新定位到另一个服务器,而不会中断数据库服务。
解决计划以及意外停机使Oracle RAC One Node成为最佳的Oracle数据库故障切换解决方案。在线升级到多节点Oracle RAC数据库的能力补充了其功能,并使其成为数据库云部署的理想基础架构。
Oracle RAC one node的标准化
Oracle RAC One Node使用多个功能,使其成为理想的标准数据库部署基础架构。
这些功能以及Oracle RAC One Node数据库可以在线升级到多节点Oracle RAC数据库,从而将Oracle RAC One Node与简单运行Oracle单实例数据库区分开来。
Oracle RAC One Node和Oracle RAC之间的主要区别在于使用Oracle RAC One Node Database,在正常操作下,一次只能运行一个实例。如果这一个实例受到计划外停机的影响,用于Oracle RAC One Node的堆栈确保数据库服务将尽可能快地恢复,但在技术上和任何其他故障转移群集解决方案一样。那么在一段很短的时间内没有数据库实例正在运行。
对于计划停机时间Oracle RAC One Node提供了优于市场上任何其他故障切换解决方案的解决方案; “在线数据库迁移”。在线数据库重定位是一种Oracle RAC One Node特有功能,可将Oracle RAC One Node数据库实例重新定位到群集中的另一个服务器,而不会中断数据库服务。在Oracle RAC数据库中,不需要此功能,因为数据库实例通常在集群中的多个服务器上运行。重新定位正在运行的Oracle RAC数据库实例是不必要的。
最佳的Oracle数据库可用性
对于故障情况,Oracle RAC One Node可确保最低可能的故障切换时间。 此外,Oracle RAC One Node还可以使用Oracle最新的业务连续性功能“应用连续性”,它包含在Oracle RAC,Oracle Active Data Guard和Oracle RAC One Node选项中。
利用应用程序连续性作为故障切换策略的一部分,可以最大限度地减少运行在Oracle RAC One Node Database上的应用程序所遇到的停机时间,同时也有助于优化计划停机时间,因为它可以减少对要修补的数据库实例的工作的需求。
在线数据库迁移完成了Oracle RAC One Node功能,使Oracle RAC One Node成为最佳的Oracle数据库故障切换解决方案。
使用Online Database Relocation实现零停机安装补丁集
在线数据库迁移允许执行服务器固件,操作系统或数据库修补等维护操作,而不会停止数据库服务。
虽然在线数据库迁移是一种标准的Oracle RAC One Node功能,但使用它进行零停机维护需要做一些准备。 在上图中,三个节点集群托管各种Oracle RAC One Node数据库:
节点1承载Oracle RAC One节点数据库A 节点2承载Oracle RAC One节点数据库B和D 节点3托管Oracle RAC One节点数据库C和E
每个Oracle RAC One Node数据库的Oracle数据库归档安装在每个服务器的基础上(而不是使用共享的Oracle数据库主机)。 使用每个数据库的个人数据库home允许在服务器上的各个数据库的在线修补。
为简单起见,以下示例将仅关注Oracle RAC One Node数据库A.在真实环境中,可能需要考虑在同一服务器上运行的其他数据库。考虑到这些假设,使用在线数据库重定位的在线维护可以通过四个简单的步骤执行(根据场景,可以进一步优化三个步骤):
上述列表中的第一步使Oracle RAC One Node优于当今市场上任何其他数据库集群故障切换解决方案。 基于Oracle RAC One Node是启用Oracle RAC的数据库,在线数据库重定位可以为Oracle RAC One Node数据库启动第二个实例,以进行重定位。 这是Oracle RAC One Node数据库应该同时运行两个数据库实例的唯一时间。
作为在线数据库重定位的一部分,执行以下步骤:
1、数据库服务在源数据库实例(要停止的实例)上停止,然后在目标数据库实例(新实例)上启动。
请注意,由于此原因,Oracle RAC One Node需要至少创建一个动态数据库服务,作为基于DBCA的数据库创建的一部分。
2、可以创建其他数据库服务作为安装后步骤。
3、在目标数据库实例上启动的数据库服务将导致新的连接请求访问Oracle RAC One Node数据库转到新的目标服务器。
4、在源服务器上启动在线数据库重定位时建立的连接将保留在源实例上,同时将针对源数据库实例执行关闭事务处理。
5、由于关闭事务处理将等待会话完成事务并断开连接,“在线数据库重定位”功能允许设置一个超时时间,描述使用shutdown abort强制停止源数据库实例之前应等待的时间。
默认等待时间(超时)为30分钟。等待时间可以增加多达24小时。
6、在超时过期或源数据库实例上的最后一个会话关闭后(以先到者为准),源数据库实例将被关闭,并且新的(目标)数据库实例保持为唯一可用的实例。
Oracle数据库12c实际应用集群(RAC)一个节点。
由于源数据库实例现在已停止,并且假设没有其他数据库从相应的数据库主服务器运行,因此,源服务器上的数据库主目录现在可以进行修补(请参阅步骤3),隐式使用本机的固有的滚动升级功能Oracle RAC数据库。
步骤4预计将倒退操作,这意味着将Oracle RAC One Node数据库A重新定位到原始的家庭,以便激活修补程序,因为到目前为止,该数据库实例只是从未修补的数据库中运行。启动Oracle RAC One Node Database节点1上的实例将激活此实例的修补程序,并允许修补剩余的主机。
在集成环境中优化在线打补丁的过程
上面所述的“使用在线数据库重定位的零停机修补”的过程假设特定数据库实例在工作流程中被重新定位两次,这导致执行四个步骤。 在合并环境中,假设没有特定的服务器,需要托管数据库实例,上述步骤可以缩短为3个步骤:
更好地数据库整合
巩固已成为IT行业的热门话题。 Oracle RAC One Node可实现更好的服务器整合,增强的保护,防止故障,更大的灵活性,更轻松的工作负载管理以及比虚拟化环境更好的在线维护。
通过利用共享操作系统(OS)映像的优势,Oracle RAC One Node提供卓越的整合。 这意味着,在虚拟机(VM)环境中,只有一个操作系统可以安装,配置,安全,修补,升级,备份,管理与多个操作系统。
Oracle RAC One Node的OS整合模型为系统管理员提供了要管理的单个操作系统(每个服务器)。相比之下,在VM环境中,在单个物理服务器上安装了十几个操作系统并不常见,为系统管理员提供了十几个操作系统来安装,配置,修补,安全,升级,备份和管理。
使用单个操作系统映像来托管多个Oracle数据库提供了隔离资源的问题,其中CPU利用率最重要的是内存利用率。实例Caging4是Oracle Database 11g Release 2引入的一个功能,可以跨数据库提供所需的资源隔离。
此功能有助于提供一致的服务水平,而无需更麻烦的方法的开销和低效率。 Instance Caging允许管理员限制实例使用的CPU,从而防止一个实例中的失控进程影响其他共享该服务器的进程。管理员可以在不使数据库脱机的情况下动态地更改CPU分配,如果系统上的需求或需求发生变化。
Oracle RAC One Node 支持多租户
Oracle Multitenant是Oracle Database 12c企业版的一个新选项,通过简化合并,配置,升级等功能,可帮助客户降低IT成本。 它基于一种新架构,允许多租户容器数据库容纳许多可插拔数据库(PDB)。 这个想法是,可以简单地采用现有数据库,而应用程序层没有任何变化,作为可插拔数据库。 在此体系结构中,Oracle RAC One Node提供基于本地故障转移的高可用性,这是在一个系统上合并各种关键业务应用程序时所必需的。
在Oracle RAC One Node中使用PDB时,多租户容器数据库(CDB)基于Oracle RAC One Node。 每个可插拔数据库都可在Oracle RAC One Node CDB实例上使用。 使用动态数据库服务来管理和管理PDB,这些应用程序也将被应用程序用于连接到相应的PDB,就像使用Oracle Net Services进行连接的单实例Oracle数据库一样。
Oracle数据库虚拟化的优化实现
虚拟化已成为IT行业的热门话题,一个原因可能是,通过从运行在其上的软件抽取物理资源,虚拟化承诺更灵活和更有效的IT环境。它提供了各种易于获得的收益,具有明显的可衡量和可理解的回报。很容易证明投资将具有积极的投资回报率。
Oracle RAC One Node在物理服务器上运行,因此不会受到虚拟服务器的潜在开销的影响。由于它们倾向于执行I / O和内存密集型操作,因此数据库可能会导致许多服务器虚拟化环境中的高开销运行 - 对于在物理服务器上运行的这些环境将提供显着的性能改进。
虚拟化最明显的优势是与服务器整合相关的优势,但越来越多的客户正在利用诸如Live Migration和基于VM的高可用性等高级功能的优势。
Oracle认识到这些好处,并提供自己的服务器虚拟化产品Oracle VM。以下是驱动虚拟化兴趣的主要优点:
虚拟化已成为服务器虚拟化的代名词,但存在许多不同类型的虚拟化。 服务器虚拟化是最简单的虚拟化形式,可以提供许多上述优点,具有不同程度的实用性。
大多数虚拟化解决方案不提供的粒度超出了客户虚拟机的黑匣子。换句话说,对于大多数基于虚拟机的解决方案,包括甲骨文,客户虚拟机是一个黑匣子,其中的功能如Live Migration或基于VM的高可用性将会运行。这些功能对访客虚拟机的运行情况没有任何见解
Oracle RAC One Node和Oracle RAC Stack提供了充分利用基于VM的环境所需的洞察力和功能。实时迁移可能能够将客户机从一个服务器移动到另一个服务器;但是,它不能仅在guest虚拟机之间移动数据库。
在客户虚拟机中的应用程序(数据库)级别上进行操作对于维护操作来说有很大的区别。每个guest虚拟机仍然使用操作系统,并可能提供Oracle数据库本地二进制文件;这两个实体将经常进行修补。
类似的应用于基于VM的HA功能,如上图。虽然基于VM的HA在Guest VM级别上工作得很好,这意味着如果检测到故障,它将在Guest VM上故障转移,它不会检测并更正guest虚拟机中应用程序(数据库)的故障。
Oracle RAC One节点堆栈提供缺少的部分和功能,例如应用程序级可用性监控和在线数据库迁移用于维护操作。
Oracle RAC One Node独有的其他优点包括:
总结
Oracle RAC One Node提供了最佳的Oracle数据库可用性。 它提供了避免计划外和计划停机的功能。 Oracle RAC One Node还可以提高VM的优势并克服其限制。 那些希望减少服务器占用空间,提高可用性,更好地管理工作负载,减少维护中断,简化数据库管理或升级到多节点Oracle RAC的客户将发现Oracle RAC One Node是数据库和数据库云部署的理想解决方案。