解读 Oracle 12c 的 12 个新特性

2014-11-24 18:30:21 · 作者: · 浏览: 5

Tom的《12 Things About The Latest Generation of Database Technology》下载地址。


具体下载目录在 /2012年资料/10月/10日/《Linux操作系统实用教程》课件第7章_ shell程序设计 PPT


这里我们来领略下Tom眼中的12个特性增强:


#1 Even better PL/SQL from SQL, 直接在SQL中嵌入PL/SQL对象并运行,猜测可能优化了SQL engine 和 PL/SQL engine 2种的代码引擎之间的交互,以获得比之前传统的SQL调用函数更少的上下文切换。




#2 Improved Defaults 增强了DEFAULT, default目前可以直接指代sequence了,同时增强了default充当identity的能力



#3 Increased Size Limit for VARCHAR2, NVARCHAR2, and RAW Data Types


Varchar2, NVarchar2 and Raw这些数据类型的大小上限可以扩展到32k,和其在PL/SQL中的变量类型一样了,当然过长可能导致像LOB那样OUT OF LINE存放





#4 Easy Top-N and pagination queries ,更易用的Top-N和页码查询


提供了类似MySQL中limit的语法,Row Limiting Clause




FETCH FIRST 5 ROWS ONLY; ==》仅fetch前5行
FETCH NEXT 0.01 PERCENT ROWS ONLY; 仅fetch 0.0.1%的行数



#5 Row Pattern Matching 增强的行模式匹配


提供了新的模式匹配子句 match_recognize,可以通过match_recognize 定义正则语法



#6 Partitioning Improvements 分区特性增强 , 包括异步维护全局索引的drop和truncate分区操作, 以及Interval + Reference分区方式




#7 Adaptive Execution Plans 自适应执行计划, 该特性可以谈得上神奇,最终的执行计划将基于执行中获得的行,列倾斜造成的问题将被克服





#8 Enhanced Statistics 统计信息增强, 加入了第11级的动态采样, 对于并行查询自动打开11级的动态采样,混合直方图




#9 Temporary UNDO 临时UNDO撤销,临时表的UNDO数据可以放到TEMP中,有助于减少 UNDO表空间中的undo数据,进一步减少redo的产生, 从而使得Active Data Guard中的临时表允许做DML


设置方法为:ALTER SYSTEM/SESSION SET TEMP_UNDO_ENABLED=true|false




#10 Data Optimization 数据优化包括自动压缩和分层



ALTER TABLE orders
ILM ADD CompressionPolicy
COMPRESS Partitions for Query
AFTER 90 days from creation;



ALTER TABLE sales
ILM ADD MovePolicy
TIER Partitions TO ‘Archive_TBS’
ON OrdersClosedPolicy;




#11 Application Continuity 应用持续性增强, 事务卫士(Transaction Guard)保证了解事务结果:




#12 Pluggable Databases 可插入数据库:


一个容器数据库(container database)中可以存放多个Pluggable Databases


新的管理模式



内建的多分租(Multi-tenancy)



Pluggable Databases特性可以带来的好处: