解读 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

相关文章

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

MySQL之搜索引擎使用解读

《MySQL之搜索引擎使用解读》MySQL存储引擎是数据存储和管理的核心组件,不同引擎(如InnoDB、MyISAM)采用不同机制,InnoDB支持事务与行锁,适合高并发场景;MyISAM不支持事务,... 目录mysql的存储引擎是什么MySQL存储引擎的功能MySQL的存储引擎的分类查看存储引擎1.命令

Spring的基础事务注解@Transactional作用解读

《Spring的基础事务注解@Transactional作用解读》文章介绍了Spring框架中的事务管理,核心注解@Transactional用于声明事务,支持传播机制、隔离级别等配置,结合@Tran... 目录一、事务管理基础1.1 Spring事务的核心注解1.2 注解属性详解1.3 实现原理二、事务事

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

Oracle Scheduler任务故障诊断方法实战指南

《OracleScheduler任务故障诊断方法实战指南》Oracle数据库作为企业级应用中最常用的关系型数据库管理系统之一,偶尔会遇到各种故障和问题,:本文主要介绍OracleSchedul... 目录前言一、故障场景:当定时任务突然“消失”二、基础环境诊断:搭建“全局视角”1. 数据库实例与PDB状态2

MySQL8.0临时表空间的使用及解读

《MySQL8.0临时表空间的使用及解读》MySQL8.0+引入会话级(temp_N.ibt)和全局(ibtmp1)InnoDB临时表空间,用于存储临时数据及事务日志,自动创建与回收,重启释放,管理高... 目录一、核心概念:为什么需要“临时表空间”?二、InnoDB 临时表空间的两种类型1. 会话级临时表

Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧

《Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧》本文将通过实际代码示例,深入讲解Python函数的基本用法、返回值特性、全局变量修改以及异常处理技巧,感兴趣的朋友跟随小编一起看看... 目录一、python函数定义与调用1.1 基本函数定义1.2 函数调用二、函数返回值详解2.1 有返

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

C语言自定义类型之联合和枚举解读

《C语言自定义类型之联合和枚举解读》联合体共享内存,大小由最大成员决定,遵循对齐规则;枚举类型列举可能值,提升可读性和类型安全性,两者在C语言中用于优化内存和程序效率... 目录一、联合体1.1 联合体类型的声明1.2 联合体的特点1.2.1 特点11.2.2 特点21.2.3 特点31.3 联合体的大小1