Oracle Database 12.2新特性详解

在2015年旧金山的Oracle OpenWorld大会上,Oracle发布了Database 12.2的Beta版本,虽然Beta版本只对部分用户开放,但是大会上已经公布了12.2的很多重要的新特性,云和恩墨是Oracle的Beta用户,已经开始测试这一产品。在刚刚结束的“Oracle技术嘉年华”大会上,更详细的主题分享披露了更多内容。在这篇文章中,我将和大家一一来细数Oracle Database 12.2的新特性。

Oracle Sharding的实现

简单来说,Oracle的Sharding技术就是通过分区(Partioning)技术的扩展来实现的。以前一个表的分区可以存在于不同的表空间,现在可以存在于不同的数据库。

不同分区存在于不同数据库,这就将数据隔离了开来,Sharding就此实现。

Sharding如何实现数据路由?

既然数据被拆分,那么在访问时如何实现数据路由呢?在Sharding的架构里,存在一个“Shard Directories”目录库来管理Sharding的分布,当应用通过Sharding Key来访问数据时,连接池就会给出访问路径,快速指向需要访问的Shard。如果应用不指定分区键访问,则需要通过协调库-Coordinator DB来协助判定。

那么这里提到的连接池是什么呢?

可能很少有人注意到,在Oracle 12.1版本中增加的一个新的产品组件 GDS - Global Data Services,通过GDS可以构建一个访问“连接池”,为后端的数据库访问提供代理和路由服务,前面提到的Shard Directories,正是在GDS中配置的。

如何创建Sharding数据表?

在创建Sharding对象之前,需要先创建表空间集合 - Tablespace Set,表空间集合包含在不同数据库中的表空间定义,也就是将以前针对不同分区创建的表空间转移到不同的数据库中。

如何配置连接池?

关于连接池的配置,实际上在GDS的文档中,早有描述,以下图中则详细描述了Sharded Database的部署,其中最先创建的是shardcatalog,创建了一个Shard的目录配置数据库,而GSM - Global Service Managment,就是全局的服务管理配置。

关于GDS的配置,以下一图 - 一目了然:

如果在12.1中还看不清楚 GDS的作用,现在12.2中,Sharding中的重要作用就日益凸现出来。

Oracle的多租户与IMO组件更新

多租户选件为云而生,也就不断向着云的便利性、自动化迈进。在12.2中多租户支持更多的PDB共存,从上个版本中的252增加到4096个;在便利性上,支持Hot Clone,支持Refresh,支持在线的Tenent转移。PDB的Hot Clone可以让数据库在业务负载运行时进行Clone拷贝,并且实时同步变化数据,从而使得数据不断追平,进而实现在线切换,这极大的改善了上云的迁移过程。对用户来说是简化,并且在OEM的管理之下,所有工作可以近乎自动的完成。

In-Memory Option在12.2上也获得了增强,这一特性在ADG上的增强使得读写进一步分离,由于ADG的只读属性,备库上的内存数据又可以和主库不同,比如备库在内存中可以存储更广泛的数据,实现实时计算。而在性能和易用性上改进也值得称道,In-Memory在12.2中支持根据热图自动向内存进行数据转移,也可以动态的清除冷数据以释放内存空间,简化用户管理。

那些温暖人心的细节改进

除了以上这些大的改进,Oracle在DataGuard的细节上也不断增强,同样温暖人心

  1. DBCA备库创建 - 在备库主机安装软件启动监听,则可以通过DBCA来创建备库,指向主库来获取文件; 以前DataGuard的创建已经非常简化,RMAN的操作也很精简,现在DBCA也被利用起来,更方便容易了,够体贴吧?
  1. 口令文件维护 - 标题中用了“Headache”,可见以前多头疼 以前大家可能都被口令文件的变更坑过,现在这一切自动维护了,够温暖吧?
  1. AWR支持远程快照 - AWR支持捕获远程数据库的信息,包括ADG 要知道在之前的ADG中,备库只能通过Statspack来进行性能分析和诊断,现在可以支持AWR了,够高级吧?
  1. 连接保持 - 在进行DataGuard切换过程中,保持会话连接 对于ADG,终于,Oracle自己人也说“终于”,实现了Failover、SwitchOver中的连接会话保持,这极大的改善了用户体验,够给力吧?
  1. 自动块修复增强 - ADG自动块修复自11gR2引入,现在已经非常成熟,修复的类型大大增加;
  1. 12.2 DataGuard中并行日志应用

要知道在12.2之前,DG的备库只能由一个实例通过MRP进程进行应用,现在可以在多实例并行进行。

在8节点的RAC环境中,可以实现3500MB+/sec的应用速度,这极大的改善了大数据量备库环境中的同步效率。

多实例应用,可以在所有Mounted或者Open的实例上并行进行,在执行Recover时,类似如下一条命令即可指定并行的恢复实例:

recover managed standby database disconnect using instances 4;

我们可以对比一下单实例应用和多实例应用的架构对比,在常规模式下,多实例的备库,可以有多个Remote File Server (RFS)进程进行Redo Thread的日志接收,但是仅有一个实例进行Managed Recovery Process (MRP)应用恢复:

当然,在单个实例上,仍然可以启动多个MRP进程,进行并行的恢复,以下引自官方文档:

The managed recovery process (MRP) applies archived redo log files to the physical standby database, and automatically determines the optimal number of parallel recovery processes at the time it starts. The number of parallel recovery slaves spawned is based on the number of CPUs available on the standby server.

在PayPal的分享的“Internals About DataGuard”中,有一页关于MRP在RAC上的描述可以供参考(关注公众号回复“PayPal”可以获得本文档):

在Oracle 12.2 的版本中,多实例并行MRP恢复被支持,以下架构图详细说明了这一改进。通过一个Coordinator进程进行协同,多个MRP进行可以并行进行Redo Apply。

这一改变将极大的提升DataGuard的效率和可用性:

这是否又一温暖人心的特性增强?

在RDBMS数据库中,Oracle无论在大处的张扬,还是小处的体贴,都让人越来越喜爱这个产品。云时代,一起加油吧

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

原文发表时间:2016-01-23

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java Edge

RESTful架构REST名称REST的出处RESTful API各端的具体实现

2985
来自专栏mini188

技术笔记:XMPP之openfire+spark+smack

在即时通信这个领域目前只找到一个XMPP协议,在其协议基础上还是有许多成熟的产品,而且是开源的。所以还是想在这个领域多多了解一下。 XMPP协议:具体的概念我就...

3495
来自专栏惨绿少年

keepalived中的脑裂

    在高可用(HA)系统中,当联系2个节点的“心跳线”断开时,本来为一整体、动作协调的HA系统,就分裂成为2个独立的个体。由于相互失去了联系,都以为是对方出...

2370
来自专栏熊二哥

快速入门系列--MVC--07与HTML5移动开发的结合

    现在移动互联网的盛行,跨平台并兼容不同设备的HTML5越来越盛行,很多公司都在将自己过去的非HTML5网站应用渐进式的转化为HTML5应用,使得一套代码...

17910
来自专栏NetCore

更新自己,不要影响其他人

最近围绕着c++和C#的讨论越来越激烈,firelong努力着证明自己的观点,园子里一些大大们也在激烈的辩证着,作为小鸟的我,旁观,看看一笑而过吧。 其实无论哪...

19910
来自专栏写代码的海盗

SEO是件贼有意思的事情 golang入坑系列

这两天迷上了SEO。真心看不起百度的竞价排名,但作为一个商业网站,赚钱是一件无可厚非的事情。只做活雷锋,没有大金主是做不长的。做完功课后,发现百度和google...

2635
来自专栏杨建荣的学习笔记

关于评审开发人员的sql语句(r3笔记第11天)

在平时的工作中,经常会有一些开发人员提出一些数据库相关的一些问题。可能问的最多的就是sql语句了。 按照一个标准的流程,开发提交的sql语句在完成一系列测试之后...

3657
来自专栏数据和云

Oracle Database 12.2新特性详解

在2015年旧金山的Oracle OpenWorld大会上,Oracle发布了Database 12.2的Beta版本,虽然Beta版本只对部分用户开放,但是大...

3213
来自专栏码匠的流水账

2017年终总结

又到了写年终总结的时候了。每当这个时候思绪总是翻江倒海,因为太久没有反思和总结的缘故,一年才总结一次,确实是有点久,欠的账的太多,梳理起来有点费劲。这里依旧还是...

431
来自专栏数据和云

Oracle Database 12.2新特性详解

在2015年旧金山的Oracle OpenWorld大会上,Oracle发布了Database 12.2的Beta版本,虽然Beta版本只对部分用户开放,但是大...

3317

扫描关注云+社区