YH3:一文全面了解Oracle RAC One Node

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单实例数据库。因此,只要应用程序被认证为针对Oracle数据库运行,几乎不需要明确地使用Oracle RAC One Node来验证应用程序。
  • 从管理的角度来看,Oracle RAC One Node与Oracle RAC具有相同的架构,因此具有众多优势。此设计允许Oracle RAC One Node在计划停机的情况下使用在线数据库重定位功能进行不间断的数据库服务,例如通常在修补OS或数据库时使用。在这种情况下,即使部署在群集上的单实例数据库也需要删除。

这些功能以及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.在真实环境中,可能需要考虑在同一服务器上运行的其他数据库。考虑到这些假设,使用在线数据库重定位的在线维护可以通过四个简单的步骤执行(根据场景,可以进一步优化三个步骤):

  1. 启动从源到目标的在线数据库重定位
  2. 在源服务器上修补Oracle数据库的主页
  3. 回滚(重新定位到源服务器)以激活补丁使用
  4. 剩余Oracle数据库主页

上述列表中的第一步使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自动存储管理(ASM)提供存储虚拟化。 ASM虚拟化呈现给数据库的所有存储,并自动进行管理和调优,并由于磁盘故障或磁盘添加/删除事件而无缝地处理存储重新配置。
  • 存储合并:此外,ASM通过称为存储“池”的功能增加了存储利用率,其中运行Oracle RAC One Node的单个服务器(或群集)上的所有数据库都共享一个存储池。数据库磁盘IO始终保持一致,因为ASM确保IO在所有主轴之间始终保持平衡 - 即避免热点。可以集中管理可用磁盘空间,而不是跨多个本地存储池分段。
  • 无中断横向扩展:Oracle RAC One Node可以在线升级到Oracle RAC(具有适当的许可证),以便扩展到超过一个服务器。随着时间的推移,应用程序可能不仅可以增加其工作量,还可能成为业务关键。如果应用程序最终需要Oracle RAC提供的增强的可用性,或超出单个物理服务器的可扩展性,则Oracle RAC One Node可以升级到Oracle RAC,而不会停机或中断。
  • 标准化操作模型:通过运行Oracle RAC One Node和Oracle RAC(用于横向扩展数据库)的组合,客户可以在所有操作系统中接受单个数据库部署模型(即工具,IT流程,自定义脚本等) 。这有助于简化IT,减少教育和冗余工作,混乱和可能的人为错误。

总结

Oracle RAC One Node提供了最佳的Oracle数据库可用性。 它提供了避免计划外和计划停机的功能。 Oracle RAC One Node还可以提高VM的优势并克服其限制。 那些希望减少服务器占用空间,提高可用性,更好地管理工作负载,减少维护中断,简化数据库管理或升级到多节点Oracle RAC的客户将发现Oracle RAC One Node是数据库和数据库云部署的理想解决方案。

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2017-04-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏架构师之路

无线APP日志上报优化实践

昨天,和大家讨论了无线APP时代如何进行DNS速度优化,今天和大家一起讨论一下无线时代的日志上报流量优化。 缘起:无线时代,APP流量敏感,为了统计APP内用户...

42016
来自专栏Java技术栈

一张图告诉你为什么是服务网关。

网关服务是单一访问点,并充当多项服务的代理。服务网关启用了跨所有服务的路由转发、过滤和公共处理等。 在微服务实践中远不止这点功能,它可以做到统一接入、流量管控、...

2968
来自专栏李明的专栏

CDB 迁移问题汇总

最近与相关的行业架构师接触发现,对CDB的迁移大家伙很感兴趣,现就提出的十一个相关问题进行了如下汇总。

2560
来自专栏EarlGrey的专栏

YCSB:雅虎推出的云数据库基准测试套件

雅虎在 2010 年推出了 YCSB(Yahoo Cloud Serving Benchmark,雅虎云服务基准测试),提供了一个标准的框架和工作负载集,可以便...

5900
来自专栏PHP实战技术

大型网站技术架构!

网站都是从小网站一步一步发展为大型网站的,而这之中的挑战主要来自于庞大的用户、安全环境恶劣、高并发的访问和海量的数据,任何简单的业务处理,一旦需要处理数以 P ...

3318
来自专栏架构师之路

90行代码,搞定日志监控框架

上一篇《100行代码,搞定http监控框架》介绍了通用+可扩展的http监控平台的架构: 监控平台层:调度监控项,通过后台管理监控项 信息管理层:通过服务和后台...

4216
来自专栏Java架构师进阶

浅谈Nginx负载均衡与F5的区别

笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道“墙”,将请求分发到web服务器后,web服务器上的Ng...

511
来自专栏idba

有赞MySQL自动化运维系统--ZanDB

有赞作为"新零售"的软件服务供应商,随着业务的不断发展,从第一批几十家商户到现在300万商家,涉及零售,美业,餐饮,自媒体等众多商家,业务规模以及访问量爆发式...

1172
来自专栏coding

RabbitMQ实战1.消息代理01.消息代理02.安装RabbitMQ03.生产者-消费者模式04.队列操作

肯定不是,这种直接与生产者交易的成本太大了!大到不可承受。因此有了中间商的存在。中间商将生产者与消费者的所有环节都透明化,使最终的交易流程极其简单。

491
来自专栏云瓣

使用 Node.js 搭建一个 API 网关

外部客户端访问微服务架构中的服务时,服务端会对认证和传输有一些常见的要求。API 网关提供共享层来处理服务协议之间的差异,并满足特定客户端(如桌面浏览器、移动设...

3997

扫描关注云+社区