嵌入云端:12c Policy-Managed Cluster为Oracle DBaaS助力

简介:


张乐奕

云和恩墨副总经理,Oracle ACE 总监,ACOUG 联合创始人


Policy-Managed Cluster 在 Oracle 11gR2 中被引进,在 Oracle 12c 中使用 dbca 创建 RAC 数据库的时候,Policy-Managed 选项已然成为默认值。 




那么到底什么是 Policy-Managed 方式的集群和数据库呢?与以前的 Admin-Managed 方式有何区别?何种环境适合使用这种新的方式进行管理?本文尝试回答这些问题,并且做出简单的测试。


什么是 Policy-Managed 方式?


基于策略的管理方式,是以服务器池(Server Pools)为基础的,简单地说,就是先定义一些服务器池,池中包含一定量的服务器,然后再定义一些策略,根据这些策略 Oracle 会自动决定让多少数据库实例运行在池中的几台机器上。数据库实例名后缀、数据库实例个数、所运行的主机,这些都是通过策略决定的,而不是数据库管理员事先定好的。


与 Admin-Managed 方式有何区别?


实际上上面的表述已经明确说明了,Policy-Managed 和 Admin-Managed 方式的差别。让我们再回顾一下,在以往我们创建一个 RAC 数据库大概是怎样的方法,我们在dbca的界面中会选择要将数据库实例运行在整个集群中的几台机器上,或者是2台或者是3台,或是更多,但是只要在安装的时候选定几台机器,那么以后如果不做增减节点的操作,就始终会在这几台机器上运行。而且,通常会根据主机名称的排序自动将每台主机上的数据库实例依次命名为 dbname1 到 dbnameN。这些在管理员安装完毕以后,都不会再自动变化,这就是 Admin-Managed 方式。


何种环境适合使用这种新的方式进行管理?


当管理大量的服务器集群,并且在这些集群中运行着多种不同重要程度,不同策略的RAC数据库时,为了简化管理,建议使用 Policy-Managed 方式,实际上 Oracle 也建议只有在超过3台的服务器的时候才使用 Policy-Managed 来管理整个数据库集群。想象一下使用 Policy-Managed 方式可以达到的效果:如果我们有10台服务器组成,根据不同的应用的重要性定义服务器池的关键程度,然后在其中某些机器意外停机的情况下,仍然可以自动地保持足够多的机器给重要的系统提供数据库服务,而将不关键的系统数据库服务器个数降低到最低限度。


那么 Policy-Managed 方式到底长什么样?


在默认安装完 Oracle 12c 的 RAC 数据库之后,发现数据库实例始终只会启动在一个节点中。检查服务器池配置。




Free 池和 Generic 池是默认存在的,orcl_pool 池则是在 dbca 创建数据库的时候由我们自己定义的。其中Min: 0, Max: 1表示在这个池中最少允许有0台机器,最多允许有1台机器被使用。所以这也造成了使用这个服务器池的数据库实例始终只会启动在一个节点中,即使这在我们最初的定义中是一个 RAC 数据库。


当前的数据库实例启动在节点2中,比较一下节点1和节点2服务器使用情况的输出。




接下来需要修改一下配置,让 RAC 数据库以我们熟知的方式启动在多个节点上。 –修改 orcl_pool 池中最少运行一台机器,最多运行2台机器,还记得我们前面说的关键程度吗?      importance 表示该池的关键程度,数字越大表示关键程度越高,越优先被考虑满足 Min 条件。




–重新检查服务器池信息,可以看到已经修改成功,Min: 1, Max: 2




–查看当前服务器池的状态,可以看到orcl_pool池中激活的服务器包括了节点1和节点2两台机器。



在修改完毕以后,节点1中的数据库实例就会自动启动,我们可以通过 crsctl 命令查看服务器的状态,其中 STATE_DETAILS 字段显示了正在启动资源,在正常启动完毕以后该字段会显示为空。




现在就出现了一个比较尴尬的情况(对于我们以前管理 RAC 的常识来说),由于 dbserver1 中的实例是后启动的,因此实例名后缀为2,而 dbserver2 中的实例名后缀是1,实际上,在 Policy-Managed 管理的 RAC 环境中,无需关注到底哪个实例启动在哪台机器上,我们需要的就是通过 SCAN IP,通过 Service 名去访问数据库就好,而不需要通过实例名访问数据库。但是这里为了测试一下功能,还是决定1归1,2归2,我有说过我是完美主义者吗?




最后将这个 RAC 数据库再改回到只会启动一个实例的默认状态。




以后,无论是启动在哪台机器上,数据库的实例名永远会是 dbname_1(注意,这里有一个下划线,这是 Policy-Managed 数据库实例的命名规则)。而我们访问数据库,则不应该指定实例名。比如:




因为现在您已经无需关心到底实例是启动在哪台机器上了,后面是一个资源池——是不是有些熟悉这样的表述,是的,没错,Cloud! 我们也贴上了 Cloud 这个红到发紫的词,这就是Oracle 私有云解决方案的构成组件之一。


文章转自数据和云公众号,原文链接

相关文章
|
5月前
|
存储 Oracle 关系型数据库
Oracle 12c支持哪些数据类型?
【7月更文挑战第20天】Oracle 12c支持哪些数据类型?
96 2
|
5月前
|
SQL Oracle 关系型数据库
Oracle 12c有哪些新特性?
【7月更文挑战第20天】Oracle 12c有哪些新特性?
76 2
|
7月前
|
监控 Oracle 关系型数据库
Oracle 12c的Adaptive执行计划:数据的“聪明导航员”
【4月更文挑战第19天】Oracle 12c的Adaptive执行计划是数据库查询的智能优化工具,能根据实际运行情况动态调整执行策略。它像一个聪明的导航系统,不仅生成初始执行计划,还能实时监控并适应统计信息和资源变化,例如自动切换索引或调整并行度。此外,它支持自适应连接和统计信息收集,提升处理复杂查询和变化数据环境的能力。数据管理员应充分利用这一特性来优化查询性能和用户体验。
|
7月前
|
存储 NoSQL Oracle
Oracle 12c的内存列存储:数据的“闪电侠”
【4月更文挑战第19天】Oracle 12c的内存列存储以超高速度革新数据处理,结合列存储与内存技术,实现快速查询与压缩。它支持向量化查询和并行处理,提升效率,但需合理配置以平衡系统资源。作为数据管理员,应善用此功能,适应业务需求和技术发展。
|
7月前
|
存储 Oracle 关系型数据库
Oracle 12c的多重索引:数据的“多维导航仪”
【4月更文挑战第19天】Oracle 12c的多重索引提升数据查询效率,如同多维导航仪。在同一表上创建针对不同列的多个索引,加速检索过程。虽然过多索引会增加存储和维护成本,但合理选择和使用索引策略,结合位图、函数索引等高级特性,能优化查询,应对复杂场景。数据管理员应善用这些工具,根据需求进行索引管理,支持企业数据分析。
|
7月前
|
存储 Oracle 安全
Oracle 12c的不可见字段:数据的“隐形斗篷”
【4月更文挑战第19天】Oracle 12c引入了不可见字段,这是一种隐藏数据列的特性,用于增强数据安全性和实现业务逻辑。不可见字段在常规查询中不显示,但参与数据操作,适合存储敏感信息或内部元数据。创建时只需在列定义中指定“INVISIBLE”属性。虽然有其限制,如特定查询可能暴露,但正确使用能有效提升数据安全性。了解和利用这一功能对数据管理员至关重要。
|
7月前
|
SQL Oracle 关系型数据库
Oracle 12c的TOP N语句:数据排名的“快速通道”
【4月更文挑战第19天】Oracle 12c的TOP N语句是用于快速获取数据集排名前N的记录的SQL查询方法,特别适合寻找最具代表性的数据。通过指定排序条件和数量,TOP N能高效筛选出所需信息,例如最高销售额产品或最大访问量网页。在Oracle 12c中,查询优化器对TOP N查询进行了优化,保证快速返回结果,并提供丰富的排序和过滤选项。基本用法如`SELECT ... ORDER BY ... FETCH FIRST N ROWS ONLY`,还可结合`OFFSET`进行分页查询或用`WITH TIES`保持结果完整性。掌握TOP N语句能提升数据分析效率,助力企业决策。
|
7月前
|
存储 Oracle 关系型数据库
Oracle 12c的临时UNDO:数据的“临时保镖”
【4月更文挑战第19天】Oracle 12c引入的临时UNDO为数据安全提供新保障。它为临时操作和特定事务提供独立UNDO空间,避免共享UNDO带来的性能瓶颈和管理复杂性。临时UNDO随事务开始分配,记录修改历史,事务结束后自动释放。优点包括提高性能、简化管理及保证数据一致性。但需注意手动配置、监控和优化,以防长时间占用资源。了解其工作原理和最佳实践是提升数据库性能的关键。
|
7月前
|
存储 Oracle 数据管理
Oracle 12c的自动数据优化(ADO)与热图:数据管理的“瘦身”与“透视”艺术
【4月更文挑战第19天】Oracle 12c的ADO和热图技术革新数据管理。ADO智能清理无用数据,优化存储,提升查询速度,实现数据"瘦身";热图则以直观的视觉表示展示数据分布和状态,助力识别性能瓶颈,犹如数据的"透视"工具。这两项技术结合,强化数据管理,为企业业务发展保驾护航。
|
7月前
|
Oracle 安全 数据管理
Oracle 12c多租户架构:数据管理的“摩天大楼”
【4月更文挑战第19天】Oracle 12c的多租户架构允许多个独立数据库环境在同一实例中共享资源,提高效率,降低成本。该架构保证了数据隔离和安全性,同时提供灵活性和可扩展性,简化管理任务。通过理解其原理和管理方法,我们可以充分利用这一架构,为企业数据管理和业务发展提供强大支持。