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)

原文发表时间:2015-11-24

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

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

一次ORA-00600问题的排查和分析(r5笔记第64、65天)

昨天处理了一起ora-00600的错误,其中也经历了各种曲折,真是雾里看花,看透了之后发现很多问题都是有原因的。 起初是开发说有一个job运行的时候报错了,数据...

3639
来自专栏逸鹏说道

Stack Overflow 2016最新架构探秘

这篇文章主要揭秘 Stack Overflow 截止到 2016 年的技术架构。   首先给出一个直观的数据,让大家有个初步的印象。   相比于 2013 ...

2857
来自专栏大数据

如何查询InfluxDB

InfluxDB是一个很流行的基于时间序列的数据库,下面是这个数据库的最基本的查询命令。InfluxDB使用类SQL(实际上它就是一种特殊的“SQL”)的语言。

49410
来自专栏安富莱嵌入式技术分享

【RL-TCPnet网络教程】第6章 RL-TCPnet底层驱动说明

本章节为大家讲解RL-TCPnet的底层驱动,主要是STM32自带MAC的驱动实现和PHY的驱动实现。

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

通过shell脚本监控日志切换频率 (94天)

在数据库遇到性能问题的时候,可能从io,cpu等角度能够下手找到性能瓶颈,日志的切换也是影响性能的一个因素,如果日志切换台频繁,等待时间就会在日志相关的事件上,...

2698
来自专栏jeremy的技术点滴

研究Open vSwitch

2995
来自专栏张善友的专栏

ARR:Application Request Routing

ARR简单的说就是一个IIS7的负载均衡模块,可以一次管理多个IIS 6/7的服务器集群,规则基于URL,或者基于HOST NAME,或者基于HTTP HEAD...

1796
来自专栏EAWorld

对没有监控的微服务Say No!

目录: 一、监控简介 二、监控策略 三、总结 一、监控简介 微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同的机器上,彼此通过服务调用...

3815
来自专栏张善友的专栏

Windows Server 2008对NLB网络负载平衡的改进

     网络负载平衡 (NLB) 服务增强了 Web、FTP、防火墙、代理、VPN 和其他关键任务服务器之类的 Internet 服务器应用程序的可用性和可伸...

18710
来自专栏CSDN技术头条

为Symfony2和Redis正名,基于PHP的10亿请求/周网站打造

【编者按】如果你还在Symfony2和Redis使用中存在这样的错误观念:不能使用Redis作为主要存储;Symfony2的功能很多,以至于它的运行很慢,那么不...

1835

扫描关注云+社区