今天把本地环境升到了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. jenkins 设置钉钉通知--钉钉机器人

    https://blog.csdn.net/workdsz/article/details/77531802

  2. c# 判断文件是否发生了变化

    你这个是想文件发生改变时,自动调用一个函数,做出一些操作呢. 还是有一个按钮(或者别的什么),你去点击一下,然后检测下一个文件,是否发生了变化? 下面的代码,监控d盘下的所有.txt文件的修改 1 2 ...

  3. nvm(Node Version Manager)管理node版本

    nvm全称Node Version Manager是 Nodejs 版本管理器,它让我们能方便的对 Nodejs 的版 本进行切换. nvm 的官方版本只支持 Linux 和 Mac. Windows ...

  4. 《算法笔记》8.1小节——搜索专题->深度优先搜索(DFS)

    http://codeup.cn/contest.php 5972 这是递归的入门题,求全排列,第一种方法用STL中的函数next_permutation,可以很容易的实现.首先建立好数组,将需要全排 ...

  5. cocos2d-x JS 获取当前系统时间(解决屏幕双击点击事件)

    记录一下,好开心,感觉今天自己又学到东西了,对于屏幕双击事件本来还毫无头绪的,今天得以解决总算没白费加班,其实原理很简单:就是在点击事件里做一个判断,这个判断就是需要获取当前系统的时间的毫秒差,第一次 ...

  6. Selenium基础知识(五)多窗口切换

    说到多窗口切换必须想到driver.switch_to.window()方法 driver.switch_to.window() 实现在不同窗口之间切换 driver.current_window_h ...

  7. spring mvc配置datasource数据源的三种方式

    2.使用org.apache.commons.dbcp.BasicDataSource 说明:这是一种推荐说明的数据源配置方式,它真正使用了连接池技术 <bean id="dataSo ...

  8. node.js初识04

    node的Get表单提交 form.html <!DOCTYPE html> <html lang="en"> <head> <meta ...

  9. JS引擎的执行机制

    深入理解JS引擎的执行机制 1.灵魂三问 : JS为什么是单线程的? 为什么需要异步? 单线程又是如何实现异步的呢? 2.JS中的event loop(1) 3.JS中的event loop(2) 4 ...

  10. EL语言表达式 (一)【语法和特点】

    一.基本语法规则: EL表达式语言以“${”开头,以"}"结尾的程序段,具体格式如下: ${expression} 其中expression:表示要指定输出的内容和字符串以及EL运 ...