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这个选项很重要,而不是无用。
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核心高实用性新特性的更多相关文章
- [转]Oracle 11g R2 RAC高可用连接特性 – SCAN详解
原文地址:http://czmmiao.iteye.com/blog/2124373 昨天帮朋友解决11g RAC SCAN问题,当时为这朋友简单解答了一些SCAN特性相关的问题,但我知道这仅仅是 ...
- Oracle 11g R2 RAC 高可用连接特性
转自-阿里巴巴许春值 1.scan概念 什么叫 SCAN,SCAN (Single Client Access Name) 是 Oracle 从11g R2 开始推出的,客户端可以通过 SCAN 特性 ...
- Oracle 11g 中SQL性能优化新特性之SQL性能分析器(SQLPA)
Oracle11g中,真实应用测试选项(the Real Application Testing Option)提供了一个有用的特点,叫SQL性能分析器(SQL Performance Analyze ...
- 盘点 Oracle 11g 中新特性带来的10大性能影响
Oracle的任何一个新版本,总是会带来大量引人瞩目的新特性,但是往往在这些新特性引入之初,首先引起的是一些麻烦,因为对于新技术的不了解.因为对于旧环境的不适应,从Oracle产品到技术服务运维,总是 ...
- Maclean Liu对Oracle Database 12c新特性研究汇总
Maclean Liu关于DB 12c新特性的研究文章如下: [Oracle Database 12c新特性] In-Database Archiving数据库内归档 [Oracle Database ...
- JAVA 8 新特性实用总JAVA 8 新特性实用总结结
JAVA 8 新特性实用总结 作为一个工作两年多的 老 程序猿,虽然一开始就使用 jdk1.8 作为学习和使用的版本,随着技术的迭代,现有的 JDK 版本从两年前到现在,已经飞速发展到了 JDK 15 ...
- ArcGIS API for JavaScript 4.2学习笔记[0] AJS4.2概述、新特性、未来产品线计划与AJS笔记目录
放着好好的成熟的AJS 3.19不学,为什么要去碰乳臭未干的AJS 4.2? 4.2全线基础学习请点击[直达] 4.3及更高版本的补充学习请关注我的博客. ArcGIS API for JavaScr ...
- Oracle 11g新特性
文章转自网络 Oracle 11g于2007年7月11日美国东部时间11时(北京时间11日22时)正式发布,11g是甲骨文公司30年来发布的最重要的数据库版本,根据用户的需求实现了信息生命周期管理(I ...
- Oracle Database 12c 新特性 - Pluggable Database
在Oracle Database 12c中,可组装式数据库 - Pluggable Database为云计算而生.在12c以前,Oracle数据库是通过Schema来进行用户模式隔离的,现在,可组装式 ...
随机推荐
- Solutions_issues in pip
pip fails ssl verification Solution: $ python -m pip <command> --trusted-host files.pythonhost ...
- C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作,无法为请求的 Configuration 对象创建配置文件。
应用程序配置文件,对于asp.net是 web.config,对于WINFORM程序是 App.Config(ExeName.exe.config). 配置文件,对于程序本身来说,就是基础和依据,其本 ...
- 记录python万恶的坑
1.PyCharm Process finished with exit code -1073741819 (0xC0000005) 解决方法:卸载h5py这个包,在装cv2的时候有可能安装了h5py ...
- LeetCode67.二进制求和
给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 示例 1: 输入: a = "11", b = "1" 输出: ...
- 删掉centos原有的openjdk并安装sun jdk
[环境变量]删掉centos原有的openjdk并安装sun jdk 一.卸载原有openjdk rpm -qa | grep java 之后,将展示出来的全部卸载掉,我这里是5个 rpm -e ...
- jQuery-切换效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- django后台的制作
参考:http://zengestudy.blog.51cto.com/1702365/1902660 http://www.cnblogs.com/fnng/p/3737964.html 实现与后台 ...
- 数据分析之Numpy库入门
1.列表与数组 在python的基础语言部分,我们并没有介绍数组类型,但是像C.Java等语言都是有数组类型的,那python中的列表和数组有何区别呢? 一维数据:都表示一组数据的有序结构 区别: 列 ...
- ios 回调函数作用
//应用程序启动后调用的第一个方法 不懂的程序可以做不同的启动 //launchOption参数的作业:应用在特定条件下的不同启动参数 比如:挑战的支付宝支付 - (BOOL)application: ...
- Sqrt Bo (水题)
#include<bits/stdc++.h> using namespace std; ], comp; ]; int main(){ arr[] = 1LL; ; i < ; i ...