123
 123

Tip: 看不到本站引用 Flickr 的图片? 下载 Firefox Access Flickr 插件 | AD: 订阅 DBA notes --

2016-12-11 Sun

12:56 Sponsored: 64% off Code Black Drone with HD Camera [del.icio.us] (151 Bytes) » 车东[Blog^2]
Our #1 Best-Selling Drone--Meet the Dark Night of the Sky!
08:21 Oracle 数据库 12.2新特性手册 - In-Memory 增强卷 (8834 Bytes) » Oracle Life

作者:eygle 发布在 eygle.com

编辑手记 In-Memory 是 Oracle 在 12.1.0.2 中引入的新特性,旨在加速分析型 SQL 的速度。传统的 OLTP 应用通过 buffer cache 修改数据,分析性的 SQL 从 IM 列式存储中扫描数据,避免物理读成为性能瓶颈。那么在12.2最新版本中,In-Memory有哪些增强特性呢?我们一起来学习。

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

1、In-Memory Expressions(列式存储表达式)

内存中列存储允许以压缩的列格式将对象(表,分区和子分区)填充到内存中。 内存表达式使经常评估的查询表达式能够在内存中列存储中实现,以供后续重用。

将经常使用的查询表达式的实现值填充到内存中列存储中大大减少了执行查询所需的系统资源,并提供更高的可扩展性。

imo12201.jpeg

2、In-Memory Virtual Columns(虚拟列)

内存虚拟列使表的某些或所有用户定义的虚拟列能够将其值实现(预先计算)并填充到内存中列存储以及该表的所有非虚拟列。

将用户定义的虚拟列的值实现到内存中列存储可以通过使用内存中技术(例如SIMD(单指令,多数据)向量处理)来扫描和过滤虚拟列值,从而大大提高查询性能, 就像一个非虚拟列。

3、In-Memory FastStart(列式存储快速启动)

内存列存储允许以压缩的柱形格式在内存中填充对象(例如表、分区和子分区)。 到目前为止,柱形格式只能在内存中使用。 这意味着在数据库重新启动后,必须使用多步骤过程从头开始填充内存中列存储,该过程将传统的行格式化数据转换为压缩的列格式并放入内存中。

内存中快速启动使数据以比以前更快的速度重新填充到内存中列存储中,方法是以压缩的柱形格式保存磁盘上内存列存储中当前填充的数据副本。

imo12202.png

内存中的FastStart主要减少了系统重新启动后将数据重新填充到内存中列存储所需的时间。 这允许企业开始利用分析查询的性能优势,比以前更快地以柱形格式访问数据。

4、Automatic Data Optimization Support for In-Memory Column Store(列式存储自动数据优化支持)

自动数据优化(ADO)可实现信息生命周期管理(ILM)任务的自动化。 ADO的自动功能取决于热图功能,它在行级(聚合到块级统计)和段级跟踪访问。 最初,ADO支持使用在段或表空间级别定义的策略进行压缩分层和存储分层。 ADO支持现在已经扩展到包括内存中列存储。 ADO通过基于热图统计将对象(表,分区或子分区)移入和移出内存来管理内存中列存储。对内存中列存储的ADO支持可确保基于热图统计信息最优化使用内存中列存储。

由于内存中列存储是从系统全局区域(SGA)分配的,它使用主内存,主内存资源有限并且昂贵。 ADO确保只使用用户定义的策略在内存中列存储中填充最佳候选对象,提供了最佳性能,而不需要DBA经常干预手动管理内存中列存储的内容。

5、Join Groups(组连接)

填充到内存中列存储中的数据使用许多不同的编码技术进行压缩。 如果在连接中一起使用的两个列使用不同的技术编码,则必须解压缩这两个列以执行连接。 连接组允许用户指定哪些列用于跨表的连接,因此这些列始终可以使用相同的编码技术进行压缩。

imo12203.png

在使用相同技术编码的连接中一起使用的列使得能够进行连接,而不必通过提高连接的效率来解压缩列。

6、Expression Tracking(表达式跟踪)

SQL语句通常包括诸如"+"或" - "的表达式。 更复杂的示例包括PL / SQL函数或SQL函数,如LTRIM和TO_NUMBER。 存储库维护在编译期间识别并在执行期间捕获的相关表达式的使用信息。 涉及多个列或函数的复杂表达式造成难以精确地估计优化器中的选择性,从而导致次优计划。 通过表达式跟踪,处理有关表达式及其用法的更多信息对于建立更好的查询执行计划很有用。

7、Oracle Database In-Memory Support on Oracle Active Data Guard(Oracle ADG上的列式存储支持)

Oracle Active Data Guard允许以只读模式打开standby数据库。 此功能使企业能够将生产报告工作负载从primary数据库卸载到同步standby数据库。 因此,现在可以在Oracle Active Data Guard standby数据库上使用内存中列存储。 这使得standby 数据库上处理的报告工作负载能够利用在存储器中以压缩柱状格式访问数据。 这也使扫描、联接和聚合的执行速度比传统磁盘格式的快。

还可以在primary数据库和standby数据库上的内存中列存储中填充完全不同的数据集,从而有效地将应用程序可用的内存中列存储的大小增加一倍。

通过启用在Oracle Active Data Guard standby数据库上运行的报告工作负载来使用内存中列存储,可以极大地提高工作负载的执行性能。 这是因为处理可以充分利用在存储器中以压缩柱形格式访问数据。


8、In-Memory Column Store Dynamic Resizing(列式存储自动调整列大小)

假设SGA中有足够的内存可用,就可以在数据库打开时动态增加内存区域的大小,可以调整内存中列存储的大小,而无需重新启动数据库。

欢迎加入『云和恩墨大讲堂』,参与我们的学习和讨论。
YhemTalk.jpeg

相关文章|Related Articles

2016-12-10 Sat

09:46 Oracle 12.2 新特性:自动列表分区(Auto-List Partitioning) (4477 Bytes) » Oracle Life

作者:eygle 发布在 eygle.com

在Oracle Database 12.2 之前,如果使用列表分区,当插入的数据超过了分区列表值设定,则会抛出异常;而如果存在大量的列表值需要定义,则可能需要一一设置。

在12.2引入的新特性中 - Auto-List Partitioning 可以针对新的列表值,进行自动的分区创建,从而减少了维护的复杂性。

在文档中这样描述:

Partitioning: Auto-List Partitioning

The database automatically creates a separate (new) partition for every distinct partition key value of the table.

Auto-list partitioning removes the management burden from the DBAs to manually maintain a list of partitioned tables for a large number of distinct key values that require individual partitions. It also automatically copes with the unplanned partition key values without the need of a DEFAULT partition.

通过以下测试来简单验证一下这个特性的表征,如果是常规的列表分区,在分区缺失时会遇到ORA-14400错误:

SQL> CREATE TABLE enmotech (
  2    PartID	     integer	     not null,
  3    CretTm	     date	     not null,
  4    PartCD	     varchar2(2)     not null
  5  ) partition by list (partcd) (
  6    partition pBJ values ('BJ'),
  7    partition pCD values ('CD'),
  8    partition pGZ values ('GZ'),
  9    partition pSH values ('SH')
 10  );

Table created.

SQL> insert into enmotech values (1, sysdate, 'KM');
insert into enmotech values (1, sysdate, 'KM')
            *
ERROR at line 1:
ORA-14400: inserted partition key does not map to any partition

当设置了automatic关键字之后,分区变更为自动管理:

drop table enmotech purge;

CREATE TABLE enmotech (
  PartID	integer		not null,
  CretTm	date		not null,
  PartCD	varchar2(2)	not null
) partition by list (partcd) automatic (
  partition pBJ values ('BJ'),
  partition pCD values ('CD'),
  partition pGZ values ('GZ'),
  partition pSH values ('SH')
);

当插入一条未定义的分区数据时,新的分区被自动创建:

SQL> insert into enmotech values (1, sysdate, 'KM');

1 row created.

SQL> select partition_name from   user_tab_partitions
  2  where  table_name = 'ENMOTECH';

PARTITION_NAME
----------------------------------------------------
PBJ
PCD
PGZ
PSH
SYS_P290

如果这个自动分片的分区名不符合你的命名规则,可以通过DDL语句去修改变更:

SQL> alter table enmotech rename partition SYS_P290 to pKM;

Table altered.

SQL> select partition_name from   user_tab_partitions
  2  where  table_name = 'ENMOTECH';

PARTITION_NAME
---------------------------------------------------
PBJ
PCD
PGZ
PKM
PSH

对于已有的分区定义,可以通过关键字 automatic 和 manual 来进行分区定义的调整:

alter table PEOPLE set partitioning automatic;

alter table PEOPLE set partitioning manual;

这是Oracle Database 12.2 分区特性的众多增强之一。

相关文章|Related Articles

00:03 How to Build AD Domain on Windows Core Edition (13068 Bytes) » Official Pythian Blog

This is a follow up post building an Hyper-V lab to learn SQL Server.

Active Directory offers the PowerShell module ActiveDirectory for managing various aspects of the domain. If you are a full-time AD Administrator you may need to learn the commands in this module in great detail, but for lab purposes, we only need to be familiar with a few of them. However, first things first…we need to create our domain in the lab.

Building the Domain

If you recall from the previous post we built out a server running Windows 2012 R2 Core Edition. You can check here to see how that server was configured.

There were some initial tools that we installed on that server but to actually create the domain you have to install 2 specific Windows features. You can do that with the following command:

    Install-WindowsFeature AD-Domain-Services,RSAT-ADDS

The feature “RSAT-ADDS” installs the needed module ADDSDeployment that includes the command we need to create our first Active Directory Forest. Just to provide a little bit of context, in a lab setting our first domain is the top-level forest, but in real-world you can have a top-level forest domain that has multiple sub-domains.

The “AD-Domain-Services” feature is the services and binaries requires running the Active Directory Forest itself.

Secure String

One thing to remember with some modules in PowerShell is when you need to pass in a password, most of the commands do not allow you to simply pass in a string value. They will require a specific string type for that password: System.Security.SecureString.

There are a few ways to create this type of object:

    # Passing in the password on the command line prompt (in plain text)
    $pwd = ConvertTo-SecureString -String 'MyT0p#3cr3tP@ssw0rd' -AsPlainText  -Force
 
    # More secretive method that does not show the password to anyone watching over your shoulder
    $pwd = (Get-Credential).Password

The second part I generally use and is most common, but I will show both in this article.

Create that Forest

The command to create your forest is “Install-ADDSForest”, and it has a lot of parameters to build the forest. In order to make it readable I formatted the table below, but just understand that this is a one-liner to execute on the server. First, we need a few lines of code to get the one password we need to pass to the command:

    $SafeModeAdminPassword = ConvertTo-SecureString "Your choice of password" -AsPlainText $SafeModeAdminPasswordText -Force

Once you run this command you will see some action occurring while the forest is being built. Your server should restart once the command completes. You will log in as the Domain Administrator using the same password you set for the local Administrator account, once the server restarts.

Active Directory Commands

The module you will use to work with Active Directory is named appropriately “ActiveDirectory”. There are only are a handful of commands we need to remember to manage our lab environment. You can obviously utilize “Get-Help” to see more details on the commands, but just for reference, I’ll give examples of the ones I use most often.

Get-ADUser

    Get-ADUser -Filter * -Properties Description | select Name, SamAccountName, Enabled, Description | ft -auto

lab_ad_domain_getaduser

The “Filter” parameter is required for this command, and then the “Properties” is used to pull back properties that are not output by default (e.g. Description, PasswordExpired, etc.). You can use an asterick to have every property, but would stress doing this only in your lab environment.

Get-ADGroup

    Get-ADGroup -Filter * | select Name, SamAccountName | ft -auto

lab_ad_domain_getadgroup

Get-ADGroupMember

    Get-ADGroup -Filter * | select Name, SamAccountName, GroupCategory, GroupScope | ft -auto

lab_ad_domain_getadgroupmember

This command returns an “ADPrincipal” object, which is similar to the “ADUser” object that is returned by “Get-ADUser”, the exception is you only get a subset of properties on that user/group.

New-ADUser

One prerequisite that is needed to create an account is providing the password. Which for my lab environment I just use the same password for any account I am creating.

    $pwd = ConvertTo-SecureString "P@ssword123" -AsPlainText -Force
    New-ADUser -Name 'Bob The Builder' -SamAccountName BobTheBuilder -PasswordNeverExpires $true -AccountPassword $pwd -Enabled $true

lab_ad_domain_newaduser

New-ADGroup

One parameter to note ont his command is the Group Scope parameter. This parameter has 3 options: Global, DomainLocal, Universal. Setting this to Global is sufficient for your lab environment.

    New-ADGroup -Name Tractors -GroupScope Global

lab_ad_domain_newadgroup

Add-ADGroupMember

The 2 parameters you deal with are the identity (group you want to work with) and members (AD identities to add to the group). You can add a single member using this command or multiple, as the members parameter will accept an array of values.

    Add-ADGroupMember -Identity Tractors -Members Scoop,Stretch

lab_ad_domain_addadgroupmembers

Set-ADAccountPassword

You will need this to change the password for a given account. In this example I just show how you can use the “Get-Credential” command to pass in the password.

    Set-ADAccountPassword -Identity BobTheBuilder -Reset -NewPassword (Get-Credential).Password

lab_ad_domain_setadaccountpassword

Unlock-ADAccount

For those situations where you locked an account, there is nothing special about this command.

    Set-ADAccountPassword BobTheBuilder

Set-ADUser

I’m not going to show any examples on this one, but just bring it up. If you happen to be doing any testing with AD scripts and you want to set some of the many properties for a given account, then you can use this account. You can find all the various parameters that can be used here.

The content of this post can also be found here.

2016-12-09 Fri

16:50 《Oracle性能优化与诊断案例精选》一书出版 (7545 Bytes) » Oracle Life

作者:eygle 发布在 eygle.com

在2016年11月,我们出版了《Oracle性能优化与诊断案例精选》一书,创作这本书的想法很简单,我的思路是:

如果找到一批专家,让每个人分享他职业生涯中最深刻的技艺,感悟、经验,那么会是怎样一种呈现?本书作者包含Oracle ACE总监 6人,Oracle ACE 2人,和其他云和恩墨的高级技术专家等共13人,他们掌握Oracle的最新技术和发展动向,并有多年的行业经验,在这本书中,他们将自己的成长经历,技术经验和独特的视角分享给读者,不同作者的风格、方法、经验既迥然相异,又往往不谋而合,这样的融合既可以相互映衬,又可以彼此补充。希望读者可以找到切合自己的经验的内容并以此借鉴,找到学习案例方法从而完善并成就自我。

非常荣幸的是,在出版这本书的前夕,我偶遇戴尔大中华区副总裁曹志平先生,他对我们『数据驱动』的理念非常赞赏,也对云和恩墨和Dell的合作充满期待,遂亲笔作序,对我们的这本数据库著作做出推荐。以下是本书序言的分享。

以下是China-Pub的购买链接:http://product.china-pub.com/5007507

pftbcover.jpg


众所周知,数字革命,特别是"互联网+"的理念催生出移动互联网、云计算、大数据、物联网等大量新技术,促进了电子商务、工业互联网和互联网金融等新兴产业的蓬勃发展,如同一把双刃剑,这一方面给传统产业带来危机和思考,另一方面也给了传统产业一个再次焕发新活力的机会。由此为契机,传统产业与信息产业互联互通 、相互融合,并且涌现出新的市场需求。数量庞大的用户和更广泛的产业领域连接,使得企业的数据量正以一种令人难以想象的速度在扩张膨胀,全球产生的数据量正以大约每两年翻一番的速度增长。

数据作为日渐重要的新型资产,其拥有者需要与之数据体量相匹配的处理能力来应对数据创造、采集、管理和存储等技术需求,巨大的设备和服务市场空间吸引着大批企业投身并服务于整个数据生命周期这一巨大市场之中。戴尔秉承"在中国,为中国" 理念以及所提供优质IT方案也为中国的"大数据"建设贡献一份力量。数据库系统作为承载各种类型数据最主要的存储管理的平台,已经在IT领域中广泛应用了30多年的时间,随着这三十多年的IT应用持续深入,数据库应用已经进入了相对成熟的时代。作为IT最为核心的应用,数据库也早已不是可以孤立存在的系统--它与服务器系统、存储系统、网络系统等硬件紧密相连,它与操作系统、中间件系统、应用编码等软件紧密相连,它也与用户访问模式、用户使用频度、数据承载压力紧密相连。正是由于这种多重的关联性以及系统本身的复杂性、决定了企业要高效地应对市场瞬息万变,围绕着数据库系统建设软件和硬件一体化的平台有多么的重要。

戴尔作为行业中最大的设备和方案的供应商,在与各个行业客户交流沟通的过程中深刻地感受到在企业的核心数据库系统建设过程中由于受制于采购成本,运维成本,系统升级的风险,技术的复杂度,性能优化提升等等一系列因素的影响,"Unix Migration"成为企业核心数据库系统平台向前进一步发展不可逆转的趋势。在去年的上半年戴尔发布了最新的4路服务器PowerEdgeR930,也正是由于R930在技术架构上的不断自我创新,功能上的丰富增强和性能上的极大优化,使得R930在市场推出一年半的时间内得到了客户的广泛认可。目前,R930服务器在中国为上万企业客户的核心数据库系统提供高效可靠的IT支撑平台,这些客户覆盖了国内所有主要的行业和领域,R930也成为了戴尔公司的数据库解决方案中最重要的组件之一

云和恩墨汇集了国内数据库领域的众多顶级技术专家,围绕着客户的核心数据架构提供专业的咨询、建设、管理、整合、优化、保护等服务,并且成为该领域的佼佼者。以数据驱动,成就客户为己任的同时,云和恩墨也时刻关注客户的业务变化以及行业发展所带来的各种最新的技术。伴随着闪存技术和高速网络技术不断更新和广泛使用以及用户对数据库性能越来越高的要求,通过单一的优化应用系统,亦或是仅仅提升硬件的性能越来越难满足当下客户的需求,通过软硬件一体化整合交付的方案成为了越来越多客户数据库基础平台购买选型的首选,戴尔与云和恩墨一道使用恩墨自主研发的zData Light(软件定义存储组件)把服务器、闪存、高速网络有机融合为一体,为客户提供标准开放架构的高性能数据库一体化解决方案。

本书的主编--国内Oracle技术粉丝们熟知的顶级技术专家之一盖国强,也是云和恩墨的创始人,我们相识于黄山的一次技术峰会。我相信这本书无论是数据库技术的爱好者还是我们广大的用户,不仅能够从理论概念上更能从实际应用上来更好的理解和把握数据库的技术机理,也能够循序渐进的探索其内部的技术细节。同时这也是一本汇集了多位顶级技术专家的知识、经验和点评的专业书籍,一定能够让行业内有此技术爱好的读者沉浸书中,感同身受,有所收获

戴尔全球副总裁 曹志平

2016年9月29日

相关文章|Related Articles

12:10 Oracle 数据库 12.2新特性手册 - 可用性卷(Availability) (13990 Bytes) » Oracle Life

作者:eygle 发布在 eygle.com

编辑手记:12.2的发布,让很多技术爱好者迫不及待要尝尝鲜了,然而众多的新特性却可能让我们无所适从,为此我们节选12.2中一些重要的新特性,希望大家能够在12.2的应用中游刃有余。本文最初发布于『OraNews』公众号,欢迎大家关注。

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

10ChangeOracleDB.jpg

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事务相比,该功能接受更低的性能级别。


欢迎加入『云和恩墨大讲堂』,参与我们的学习和讨论。
YhemTalk.jpeg

相关文章|Related Articles