oracle 12cR1&12cR2核心高实用性新特性

  今天把本地环境升到了12.2。12c应该来说无论从性能和功能性方面都得到了很大的加强,就是不知道实际license怎么卖。。。原来有些功能在exadata中可用的,现在在12c中可用了,估计很大程度上还是受到了云服务的冲击影响所致。

从功能和易用性上,12c和12.2真的新增了很多实用特性。有条件的升级吧。

Oracle Database 12c Release 1

0. 12.1最大的变化多租户,in-memory(需要额外license)列式存储

 

多租户架构下CDB和PDB的资源独占/共享如下:

  • Redo shared by CDB and all PDBs
  • Undo shared by CDB and all PDBs
  • TEMP can be created for each PDB
  • SYSTEM and SYSAUX individually for each CDB and PDB
  • Timezone, each PDB
  • DB initialization parameters: some are CDB specific, but many are for each PDB
  • MEMORY_LIMIT可以控制PDB最多可使用的SGA+PGA比例
  • MEMORY_MINIMUM可以控制每个PDB必须维持的最小SGA+PGA比例

 

in-memory通过将INMEMORY_SIZE设置为非0启用,最小100M,是SGA的一部分,如下:

 

  对象可以在表空间、表、列、分区级别设置是否存储在in-memory区域。

  Hybrid Columnar Compression和 In-Memory Column Store(IM的核心,通过在内存中额外维护一份列式存储的表、分区、列来实现,准确的说是空间换时间,用户可以在列、虚拟列、表、分区、物化视图、表空间级别声明INMEMORY)是紧密相关的,只不过HCC是优化存储空间,IMCS是优化内存使用。

  在SGA中,IM以In-Memory Compression Unit为单位存储某个表的IM数据。IM优化还支持各种确定性表达式。通过预建立的连接组消除哈希连接。使用IM aggregation的VECTOR GROUP BY提高星型查询的性能。

1. Sequence as Default Value,相当于mysql的自增,对于需要支持多数据库的用户来说,绝对是个福音,代码不用写两套了。

2. Top-N Query(类mysql语法,终于不再需要子查询了,根据驱动表索引列排序的话,也是不需要嵌套的)

3. IDENTITY Columns

4. With Clause improvement

5. Temporary Undo,对于批处理操作多的用户来说,可以极大的减少生成的redo/undo,也不用采用绕过去的模式实现。

6. DDL logging

7. PGA_AGGREGATE_LIMIT parameter

8. Turning off redo for Data Pump the import,这特性很重要

9. Online DDL

10. union/union all并行执行,对于经常大数据统计和处理的用户来说,可以极大的提升性能,相比parallel,本质性的提升,在oracle 11g中就得应用解决。

 

 

 11. Partial Indexes 分区表部分索引

指定某些分区不创建索引(本地索引、全局索引均适用)。

12. 自适应查询优化(在12.1中问题比较多,默认是开启的),应关闭。

13. 限制PGA的绝对大小

PGA_AGGREGATE_LIMIT设置了PGA的最大大小,在11g以及之前,PGA_AGGREGATE_TARGET只是参考,不是绝对值。默认值是max(2G, 2*PGA_AGGREGATE_TARGET,3M*processes)

Automatic Data Optimization这个选项很重要,而不是无用。

14、JSON,11g可以使用APEX_JSON来作为补丁

Oracle Database 12c Release 2

The non-CDB architecture is deprecated in Oracle Database 12c, and may be desupported and unavailable in a release after Oracle Database 12cRelease 2. Oracle recommends use of the CDB architecture.这个时候开始,多租户、也就是CDB成了必须掌握的技能。

0) 12.2修复了一个非常关键的问题:But the main improvement area (or you may say issue resolved) in Oracle 12.2 from 12.1 is, Oracle has improved a lot on “Adaptive Query Optimization”, which has given a lot of trouble (in my views) to DBAs and Developers in Oracle 12c R1

1) Long Identifiers,这是个早该有的特性,尤其是索引,30个字符限制有时还真不够。

2) Auto-List Partitioning,对于多租户来说,是个早就该有的特性。

3) Multi-Column List Partitioning,对于多租户来说,是个早就该有的特性,11g中使用虚拟列也可以变通实现。

http://www.oracle.com/technetwork/database/bi-datawarehousing/twp-optimizer-with-oracledb-12c-1963236.pdf

http://nimishgarg.blogspot.com/2016/10/top-15-new-features-of-oracle-database.html

可以动态增加In-Memory Area大小,无需重新open,支持动态修改现在是各种中间件和数据库的标配,不管是mysql还是其他

ADG支持IM

12c架构poster(官方)

12c架构poster(国内出版)

 

posted @ 2018-07-19 19:59  zhjh256  阅读(1382)  评论(0编辑  收藏  举报