解读 Oracle 12c 的 12 个新特性

2024-04-23 05:08
文章标签 oracle 特性 解读 12c

本文主要是介绍解读 Oracle 12c 的 12 个新特性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在OOW 2012上Tom kyte介绍了Oracle新一代重量级数据库产品12c 的12个新特性, 目前Open World 2012的主要PDF都可以下载了,传送门在此:Search Content Catalog for Oracle OpenWorld 2012 sessions。

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

 

这里我们来领略下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的能力

  • Default to a sequence
  • Default when null inserted
  • Identity Type
  • Metadata-only Defaults for NULL columns

 

#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分区方式

  • Asynchronous Global Index Maintenance for DROP and TRUNCATE
  • partition
  •  Cascade Functionality for TRUCATE and EXCHANGE partition
  • Multiple partition operations in a single DDL
  • Online move of a partition (without DBMS_REDEFINITION)
  • Interval + Reference partitioning

 

 

#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

  • 对于外部应用程序和开发者来说Pluggable Databases看上去就是一个普通的版本12.1之前的数据库
  • 用户连接到Pluggable Databases时看到的是一个单一数据库和从前一样

新的管理模式

  • 数据库管理员DBA可以连接到Pluggable Database并仅仅管理该数据库
  • 超级DBA可以连接到容器数据库并如同管理单系统镜像那样管理
  • RAC中的每一个实例均打开容器数据库并可以选择打开哪些Pluggable Database

 

内建的多分租(Multi-tenancy)

  • 每个Pluggable Database均独立于其他Pluggable Database
  • Resource Manager特性被扩展到Pluggable Database中

 

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

  • 加速重新部署现有的数据库到新的平台的速度
  • 加速现有数据库打补丁和升级的速度
  • 从原有的DBA的职责中分离部分责任到应用管理员
  • 集中式管理多个数据库
  • 提升RAC的扩展性和故障隔离
  • 与Oracle SQL Developer 和Oracle Enterprise Manager高度融合

 


这篇关于解读 Oracle 12c 的 12 个新特性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/927857

相关文章

MySQL中时区参数time_zone解读

《MySQL中时区参数time_zone解读》MySQL时区参数time_zone用于控制系统函数和字段的DEFAULTCURRENT_TIMESTAMP属性,修改时区可能会影响timestamp类型... 目录前言1.时区参数影响2.如何设置3.字段类型选择总结前言mysql 时区参数 time_zon

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

MySQL中的锁和MVCC机制解读

《MySQL中的锁和MVCC机制解读》MySQL事务、锁和MVCC机制是确保数据库操作原子性、一致性和隔离性的关键,事务必须遵循ACID原则,锁的类型包括表级锁、行级锁和意向锁,MVCC通过非锁定读和... 目录mysql的锁和MVCC机制事务的概念与ACID特性锁的类型及其工作机制锁的粒度与性能影响多版本

Redis过期键删除策略解读

《Redis过期键删除策略解读》Redis通过惰性删除策略和定期删除策略来管理过期键,惰性删除策略在键被访问时检查是否过期并删除,节省CPU开销但可能导致过期键滞留,定期删除策略定期扫描并删除过期键,... 目录1.Redis使用两种不同的策略来删除过期键,分别是惰性删除策略和定期删除策略1.1惰性删除策略

oracle中exists和not exists用法举例详解

《oracle中exists和notexists用法举例详解》:本文主要介绍oracle中exists和notexists用法的相关资料,EXISTS用于检测子查询是否返回任何行,而NOTE... 目录基本概念:举例语法pub_name总结 exists (sql 返回结果集为真)not exists (s

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

Redis与缓存解读

《Redis与缓存解读》文章介绍了Redis作为缓存层的优势和缺点,并分析了六种缓存更新策略,包括超时剔除、先删缓存再更新数据库、旁路缓存、先更新数据库再删缓存、先更新数据库再更新缓存、读写穿透和异步... 目录缓存缓存优缺点缓存更新策略超时剔除先删缓存再更新数据库旁路缓存(先更新数据库,再删缓存)先更新数

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结