Oracle Database 12c十二大新特性

【IT168 资讯】作为甲骨文全球大会OpenWorld 2012中的重要产品发布,新版Oracle Database 12c汇集了参会者最多的目光,Larry Ellison也在开幕演讲中重点介绍了12c的一些新特性。对于Oracle DBA来说,虽然数据库12c正式发布的日期还要等到明年年初,但依旧希望能够提前了解它的一些新功能、新特性。在OpenWorld 2012的技术讲座环节,Oracle技术大师Tom Kyte集中介绍了Oracle Database 12c的十二大新特性,而Oracle ACE总监杨廷琨也对此进行了总结,希望让国内DBA一睹为快。

  1.PL/SQL性能增强:类似在匿名块中定义过程,现在可以通过WITH语句在SQL中定义一个函数,采用这种方式可以提高SQL调用的性能。

Oracle Database 12c十二大新特性_第1张图片

  2.改善Defaults:包括序列作为默认值;自增列;当明确插入NULL时指定默认值;METADATA-ONLY default值指的是增加一个新列时指定的默认值,和11g中的区别在于,11g的default值要求NOT NULL列。

Oracle Database 12c十二大新特性_第2张图片

  3.放宽多种数据类型长度限制:增加了VARCHAR2、NVARCHAR2和RAW类型的长度到32K,要求兼容性设置为12.0.0.0以上,且设置了初始化参数MAX_SQL_STRING_SIZE为EXTENDED,这个功能不支持CLUSTER表和索引组织表;最后这个功能并不是真正改变了VARCHAR2的限制,而是通过OUT OF LINE的CLOB实现。

Oracle Database 12c十二大新特性_第3张图片

  4.TOP N的语句实现:在SELECT语句中使用“FETCH next N rows”或者“OFFSET”,可以指定前N条或前百分之多少的记录。

Oracle Database 12c十二大新特性_第4张图片

  5.行模式匹配:类似分析函数的功能,可以在行间进行匹配判断并进行计算。在SQL中新的模式匹配语句是“match_recognize”。

Oracle Database 12c十二大新特性_第5张图片

  6.分区改进:Oracle Database 12c中对分区功能做了较多的调整,Oracle ACE总监杨廷琨花了较大的篇幅对分区提升进行了解读,其中共分成6个部分:

Oracle Database 12c十二大新特性_第6张图片

  INTERVAL-REFERENCE分区:把11g的interval分区和reference分区结合,这样主表自动增加一个分区后,所有的子表、孙子表、重孙子表、重重重...孙子表都可以自动随着外接列新数据增加,自动创建新的分区。

  TRUNCATE和EXCHANGE分区及子分区。无论是TRUNCATE还是EXCHANGE分区,在主表上执行,都可以级联的作用在子表、孙子表、重孙子表、重重重...孙子表上同时运行。对于TRUNCATE而言,所有表的TRUNCATE操作在同一个事务中,如果中途失败,会回滚到命令执行之前的状头。这两个功能通过关键字CASCADE实现。

  在线移动分区:通过MOVE ONLINE关键字实现在线分区移动。在移动的过程中,对表和被移动的分区可以执行查询、DML语句以及分区的创建和维护操作。整个移动过程对应用透明。这个功能极大的提高了整体可用性,缩短了分区维护窗口。

  多个分区同时操作:可以对多个分区同时进行维护操作,比如将一年的12个分区MERGE到1个新的分区中,比如将一个分区SPLIT成多个分区。可以通过FOR语句指定操作的每个分区,对于RANGE分区而言,也可以通过TO来指定处理分区的范围。多个分区同时操作自动并行完成。

你可能感兴趣的:(Oracle Database 12c十二大新特性)