Oracle 12.2新特性掌上手册 - 第一卷 Availability

注:文章内容来自官方文档翻译。若需要了解更多,请查阅官方文档

1、Multi-Instance Redo Apply (多实例redo应用)

在Oracle Database 12.2 之前的版本上,对于物理standby 数据库,将Redo应用于Oracle RAC standby数据库上的单一实例是受限的。在12.2版本上, redo apply现在可以根据用户的不同配置在部分或者所有standby实例上运行。 如果需要,可以通过添加其他standby实例来实现Redo Apply性能扩展。

有了这个新功能,可以为任何主要工作负载实现恢复时间上的目标。 这对于大型Oracle RAC集群的客户和Oracle Exadata的客户都有重要的意义。 Oracle Active Data Guard用户还可以实时访问当前信息。 以这种方式扩展应用性能意味着standby数据库始终是最新的,即使在有很多个节点的Oracle RAC集群的逻辑卷上也能保证信息的实时性。

2、Oracle Data Guard for Data Warehouses(用于数据仓库的Oracle Data Guard)

在以前的版本中,在primary数据库上使用NOLOGGING选项进行直接加载,一直很难更新对应的standby数据库上的数据。在物理standby数据库上,数据块被标记为不可恢复,并且尝试读取它们的任何SQL操作都将返回error。 对于逻辑standby数据库来说,SQL apply将会因为redo失效的错误而被迫中止。

现在在2.2 中,物理standby数据库中的块,被记录在standby数据库的控制文件中,可以使用如下命令以简单方便的方式进行修复

RMAN RECOVER DATABASE NONLOGGED BLOCK

3、Data Guard Broker PDB Migration or Failover(Data Guard 代理PDB 迁移或故障转移)

在多租户代理配置中,可能需要将生产PDB从一个container数据库移动到驻留在同一系统上的另一个container数据库。当生产PDB发生故障,container数据库和所有其他PDB正常工作时,用户还可能需要将PDB从Data Guard standby数据库故障切换到新的生产container数据库。

在12.2中将有简单的办法来实现整个过程。

使用命令:Data Guard Broker DGMGRL命令:

MIGRATE PLUGGABLE DATABASE

该命令能够从primary数据库中拔出PDB,并将其插入主系统上的另一个container数据库,以及通过从Data Guard standby 容器中拔出PDB来故障切换单个PDB数据库,并将其插入standby系统上的现有新primary container数据库。在这两种情况下,正在移动的PDB的数据文件必须驻留在对当前容器数据库和目标container数据库均可见的存储上。

当以此方式迁移PDB时,必须将数据文件从新container数据库复制到其Data Guard standby数据库,并且必须为新PDB启用恢复。当将PDB从Data Guard standby数据库故障转移到新的primary container数据库时,Data Guard备用数据库和目标容器数据库上的数据库版本必须相同。当在主系统上将PDB从一个container移动到另一个container时,版本可以等于或高于当前container,但必须升级PDB才能使用它。

使用新的Data Guard Broker命令MIGRATE PLUGGABLE DATABASE,可以轻松地将单个PDB从一个container数据库移动到另一个container数据库,或将单个PDB从Data Guard standby 数据库故障切换到新的生产container数据库。

4、Online Table Move(在线表移动)

非分区表可以作为联机操作移动,而不阻止任何并发DML操作。 表移动操作现在还支持自动索引维护作为移动的一部分。

对非分区表的数据维护不需要任何维护窗口,因为它不会影响任何DML或查询操作。

5、Partitioning: Table Creation for Partition Exchange(创建分区表和分区交互)

新的DDL命令(CREATE TABLE FOR EXCHANGE WITH)允许创建与分区表的形状完全匹配的表,因此能够进行分区表的分区或子分区交换。 请注意,索引不是作为此命令的一部分创建的。

创建能够进行分区或子分区交换的表对于已经进行了各种结构更改和重组的旧表而言可能是一个乏味的任务。 使用这个新的DDL,任务变得非常简单和直接实现。 与CREATE TABLE AS SELECT命令相比,它还向此类操作添加了一些隐式业务上下文。

该命令举例:

CREATE TABLE sales_exchange 
  TABLESPACE my_sales_tblspace
  FOR EXCHANGE WITH TABLE sales;

6、Partitioning: Filtered Partition Maintenance Operations(分区:过滤分区维护操作)

分区维护操作现在可以与数据过滤结合使用。 例如,分区可以被压缩并移动到不同的表空间,但是只有满足特定过滤标准的数据被实际移动。

具有数据过滤的分区维护操作结合了两个最常见的数据维护操作。 这种组合不仅使得分区维护操作更加灵活和强大,而且与两个单独的数据管理操作相比,它使得其更高性能和更少的资源密集。

7、Disk Space Check During RECOVER TABLE Operation(RECOVER TABLE操作期间的磁盘空间检查)

Oracle RMAN表恢复(RECOVER TABLE)功能会隐式创建辅助实例,还原和恢复表空间或数据文件时会执行执行表恢复操作。 但是,如果没有足够的空间来创建实例,则返回操作系统级错误。 此增强功能在RMAN执行表恢复之前对辅助实例的可用磁盘空间进行预先检查。

RECOVER TABLE是一种数据库级别的操作,可防止由于磁盘空间问题导致的操作系统级错误。 实现此功能时,如果没有足够的空间来执行操作,则会提前通知用户,并且会中止RECOVER TABLE操作。

8、Data Guard DUPLICATE Command Enhancements(Data Guard DUPLICATE命令增强)

该功能包含两方面的增强:

  • Far Sync Standby Support 远程同步Standby 支持 从Oracle Database 12c版本1(12.1)开始,引入了一个称为远程同步备用的standby数据库的新变体。 此增强的目标是允许用户使用DUPLICATE命令创建此类型的standby数据库。
  • Normal Duplicate Database From Physical Standby Database 从物理standby数据库正常复制数据库

目前,当目标数据库是物理standby数据库时,不可能创建数据库的副本。只有当连接到物理standby数据库并将此作为目标数据库时,才能创建物理standby数据库。

DUPLICATE功能增强的目的是是排除类似限制,并且当目标数据库是primary数据库或物理standby数据库时,会允许同一组操作。 此增强功能利用现有物理standby数据库进行更多用途,从primary数据库卸载。

9、Data-Dependent Routing(数据相关路由)

Java数据库连接(JDBC),Oracle调用接口(OCI)和Oracle Data Provider for .NET(ODP.NET)客户机能够识别连接字符串中指定的分片键。 连接层中的分片拓扑高速缓存用于将请求直接路由到数据所在的分片。

JDBC客户端的Oracle通用连接池(UCP)还能够识别连接URL中指定的分片键。 分片拓扑高速缓存用于将连接直接路由到数据所在的分片。 Oracle UCP还支持非Oracle应用程序客户端(如Apache Tomcat,WebSphere等)与Oracle分区一起使用。数据相关路由为为分片式数据库架构设计的应用程序提供高性能数据访问和可用性。

10、Automatic Deployment of Oracle Data Guard(自动部署Oracle Data Guard)

在具有Oracle Data Guard快速启动故障转移(自动数据库故障转移)的分区之间进行Oracle Data Guard物理复制时,部署是自动的。 这是单个分片的默认Oracle高可用性(HA)配置。

业务优势包括:

  • 自动部署减少了管理开销。
  • 物理数据库复制使用实时Oracle数据验证提供最强大的数据保护。
  • 支持异步或同步复制,实现接近零或零数据丢失保护。
  • 自动数据库故障转移为服务器,数据库,网络和站点中断提供高可用性。
  • 只读工作负载可以在用于HA的所有分片副本之间进行负载平衡,以便在使用Oracle Active Data Guard时实现额外的可扩展性。

11、Creating Data Guard Standbys With Database Creation Assistant

(使用DBCA创建Data Guard Standby)

12.2中可以通过DBCA,通过命令行界面从现有primary数据库创建Oracle Data Guard standby数据库。 此功能减少了在Oracle Enterprise Manager之外创建standby数据库时必须执行的手动步骤。 此外,DBCA允许在standby数据库创建结束时运行自定义脚本。

此功能使用户能够以非常简单的方式从命令行界面对standby数据库的创建进行脚本化。

12、Statement-Level Routing and Cross-Shard Queries(SQL级路由和数据库分片间查询)

此功能支持访问存储在多个分片上的数据的查询和事务的路由和处理,还支持不指定分片键的查询的路由。

该功能实现跨分片的简单的数据汇总和报告。使任何数据库应用程序能够灵活地在表被分片或复制的系统中执行SQL语句(包括SELECT和DML),不需要指定运行查询的分片。 与指定分片键的OLTP事务相比,该功能接受更低的性能级别。

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

原文发表时间:2016-12-06

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏乐沙弥的世界

Buffer cache 的调整与优化(一)

Buffer Cache是SGA的重要组成部分,主要用于缓存数据块,其大小也直接影响系统的性能。当Buffer Cache过小的时候,将会造成更多的

633

为什么MariaDB更优于MySQL

本文为读者提供MariaDB和MySQL的深入见解。分析两者并讨论它们之间的差异。还有一部分内容阐述为什么MySQL用户应该切换到MariaDB。

4993
来自专栏行者常至

什么是数据库事务(what is database transaction)?

222
来自专栏cloudskyme

oracle10g分区的几种类型

为了简化数据库大表的管理,例如在数据仓库中一般都是TB级的数量级.ORACLE8以后推出了分区选项.分区将表分离在若于不同的表空间上,用分而治之的方法来支撑元限...

32311
来自专栏数据和云

深入原理:Consistent Reads 与 buffer cache

黄玮(Fuyuncat) 资深Oracle DBA,个人网www.HelloDBA.com,致力于数据库底层技术的研究,其作品获得广大同行的高度评价. 编辑手记...

3467
来自专栏京东技术

Vitess告诉你两阶段提交到底长啥样

● 原子性:一个事务对状态的改变是原子的,要么都发生,要么都不发生,这些改变包括数据库的改变、消息以及对转换器的操作。

1142
来自专栏Albert陈凯

hbase的二级索引解决方案

HBase的一级索引就是rowkey,我们只能通过rowkey进行检索。如果我们相对hbase里面列族的列列进行一些组合查询,就需要采用HBase的二级索引方案...

2725
来自专栏数据和云

MySQL Performance schema设置的一些建议选项

MySQL 的Performance Schema由来已久,但由于内存消耗,性能影响等原因,导致其始终无法进入主流的MySQL默认配置,对MySQL的问题诊断以...

3155
来自专栏JAVA高级架构

高性能 MySQL 笔记

MySQL架构和历史 MySQL逻辑架构 ? 第一层处理网络连接等, 比如链接认证授权等 第二层是 MySQL 的核心, 用来解析优化 SQL 语句, 设计缓存...

2689
来自专栏Java开发者杂谈

Mysql锁初步

存储引擎 要了解mysql的锁,就要先从存储引擎说起。 常用存储引擎列表如下图所示: ? 最常使用的两种存储引擎: Myisam是Mysql的默认存储引擎。当c...

3118

扫描关注云+社区