今天把本地环境升到了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这个选项很重要,而不是无用。

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(国内出版)

oracle 12cR1&12cR2核心高实用性新特性的更多相关文章

  1. [转]Oracle 11g R2 RAC高可用连接特性 – SCAN详解

    原文地址:http://czmmiao.iteye.com/blog/2124373   昨天帮朋友解决11g RAC SCAN问题,当时为这朋友简单解答了一些SCAN特性相关的问题,但我知道这仅仅是 ...

  2. Oracle 11g R2 RAC 高可用连接特性

    转自-阿里巴巴许春值 1.scan概念 什么叫 SCAN,SCAN (Single Client Access Name) 是 Oracle 从11g R2 开始推出的,客户端可以通过 SCAN 特性 ...

  3. Oracle 11g 中SQL性能优化新特性之SQL性能分析器(SQLPA)

    Oracle11g中,真实应用测试选项(the Real Application Testing Option)提供了一个有用的特点,叫SQL性能分析器(SQL Performance Analyze ...

  4. 盘点 Oracle 11g 中新特性带来的10大性能影响

    Oracle的任何一个新版本,总是会带来大量引人瞩目的新特性,但是往往在这些新特性引入之初,首先引起的是一些麻烦,因为对于新技术的不了解.因为对于旧环境的不适应,从Oracle产品到技术服务运维,总是 ...

  5. Maclean Liu对Oracle Database 12c新特性研究汇总

    Maclean Liu关于DB 12c新特性的研究文章如下: [Oracle Database 12c新特性] In-Database Archiving数据库内归档 [Oracle Database ...

  6. JAVA 8 新特性实用总JAVA 8 新特性实用总结结

    JAVA 8 新特性实用总结 作为一个工作两年多的 老 程序猿,虽然一开始就使用 jdk1.8 作为学习和使用的版本,随着技术的迭代,现有的 JDK 版本从两年前到现在,已经飞速发展到了 JDK 15 ...

  7. ArcGIS API for JavaScript 4.2学习笔记[0] AJS4.2概述、新特性、未来产品线计划与AJS笔记目录

    放着好好的成熟的AJS 3.19不学,为什么要去碰乳臭未干的AJS 4.2? 4.2全线基础学习请点击[直达] 4.3及更高版本的补充学习请关注我的博客. ArcGIS API for JavaScr ...

  8. Oracle 11g新特性

    文章转自网络 Oracle 11g于2007年7月11日美国东部时间11时(北京时间11日22时)正式发布,11g是甲骨文公司30年来发布的最重要的数据库版本,根据用户的需求实现了信息生命周期管理(I ...

  9. Oracle Database 12c 新特性 - Pluggable Database

    在Oracle Database 12c中,可组装式数据库 - Pluggable Database为云计算而生.在12c以前,Oracle数据库是通过Schema来进行用户模式隔离的,现在,可组装式 ...

随机推荐

  1. API 接口自动化测试框架

    转自: https://testerhome.com/topics/3455 前言 接口自动化逐渐成为各大公司投入产出最高的测试技术.但是如何在版本迅速迭代过程中提高接口自动化的测试效率,仍然是大部分 ...

  2. python socket 老生常谈

    没啥可说的,直接看代码 //server import socket s = socket.socket() host = socket.gethostname() print 'host: ', h ...

  3. Dart async proc

    //dart import 'dart:io';import 'dart:async'; Future printDailyNewsDigest1() { print('A:'); File file ...

  4. Mac使用数据线连接ios,安装deb

    原创http://www.cnblogs.com/fply/p/8478702.html mac连接ios mac连接ios需要用到usbmuxd,这个可自行下载 到python-client目录下, ...

  5. 原来CNN是这样提取图像特征的。。。

    对于即将到来的人工智能时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的领域,会不会感觉马上就out了?作为机器学习的一个分支,深度学习同样需要计算机获得强大的学 ...

  6. Windows(华硕/联想)笔记本上安装黑苹果与win双系统教程

    声明:电脑小白者请谨慎安装,如有需要可私聊或留言提供安装工具 首先说明:Windows PC的文件操作系统也就是磁盘格式是FAT32或 NTFS ,而 Mac 的文件操作系统格式是 HFS ,所以这时 ...

  7. C# 深拷贝和浅拷贝

    在编码中.经常会遇到赋值操作.值类型就不说了.如果是引用类型赋值.其实是引用传递,即赋值的是一个引用.比如: Person p1 = new Person("张三", " ...

  8. Spring+SpringMVC+MyBatis整合配置

    前端控制器 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version=& ...

  9. 记dynamic的一个小坑 -- RuntimeBinderException:“object”未包含“xxx”的定义

    from:http://blog.csdn.net/feiyun0112/article/details/39697955 创建一个控制台程序和一个类库, 在控制台创建一个匿名对象,然后再在类库中访问 ...

  10. Another Meaning (KMP + DP)

    先用KMP重叠匹配求出各个匹配成功的尾串位置.然后利用DP去求,那转移方程应该是等于 上一个状态 (无法匹配新尾巴) 上一个状态 + 以本次匹配起点为结尾的状态(就是说有了新的位置) + 1 (单单一 ...