0

分而治之:从多列到自动Oracle 12.2 分区新特性抢先一览

何剑敏 2016-05-19
278


何剑敏 Oracle ACS华南区售后团队,首席技术工程师

曾供职于中国联通信息计费部、卓望数码、IBM。现供职于Oracle ACS华南区售后团队,首席技术工程师。多年从事一线的数据库运维工作,有丰富项目经验、维护经验和调优经验,专注于数据库的整体运维。


编者:Oracle的分区技术一直是对数据分而治之的重要手段,在12.2中,更加由这一技术演化出Sharding的新特性,那么回归分区技术本身,我们来看看在这一版本中,又有哪些分区功能上的增强。


Oracle database 12.2 有不少分区加强的特性,主要的特性如下列表:

  • Multi-Column List Partitioning - 多列列表分区

  • Auto list Partitioning - 自动列表分区

  • Interval SubPartitioning - 间隔子分区

  • Online Partition Maintenance Operation 

  • Online Table Conversion to Partition Table

  • Filtered Partitioning Maintenance Operation

  • Read Only Partitions


一下通过几个举例列举几个分区特性。


1. multi-column list partition - 多列列表分区

支持多列组合作为列表分区的分区键值,最多支持16个列



2. auto-list partition - 自动的列表分区

当列表项数据到来之时,分区相应自动创建


3. interval subpartition

这是Interval分区的进一步扩展,子分区支持自动间隔的创建。

4.online DDL for partition

很多DDL操作支持在线进行,比如在线将表修改为分区表:



注 1:统计信息会收集

注 2:从10046的trace看,似乎是临时创建了 SYS_JOURNAL_ ,SYS_RMTAB$$_H ,SYS_RMTAB$$_I 以及上面的索引,在进行捣鼓,另外还有一堆数据字典的更新。没有看到类似 dbms_redefinition 在线重定义的功能的介入,没有看到在线重定义时关于物化视图 create snaphot,和 MLOG$_XXX 这样的关键字。


5. Filtered Partition on Maintenance Operations

在 MOVE,SPLIT,MERGE partition 的时候,可以进行过滤,这极大简化了分区维护操作:


注1:where 条件后面的字段千万不能写错,不然数据全没了。如错写成 INCLUDING ROWS WHERE channel = ‘CHINA’,MOVE 之后则分区4的数据全没了。因为 including row 表示留下的数据,而 channel = ‘CHINA’ 这样的数据一条都没有,所以就清空了分区。


6. Read only partition

只读分区可以将特定分区设置为只读



如何加入"云和恩墨大讲堂"微信群

搜索 盖国强(Eygle) :eeygle,或者扫描下面二维码,备注:云和恩墨大讲堂,即可入群。每周与千人共享免费技术分享,与讲师在线讨论。

近期文章

如约而至 | 云和恩墨大讲堂电子期刊第五期

删繁就简-云和恩墨的一道面试题解析

用SQL解一道数学题:Gauss和Poincare

Oracle 12c ASM 防火防盗新特性揭秘

DBA入门之路:学习与进阶之经验谈

资源下载

(OraNews)回复关键字获取

DBALife,"DBA的一天"精品海报大图;

12cArch,“Oracle 12c体系结构”精品海报;

DBA01,《Oracle DBA手记》第一本下载;

YunHe“云和恩墨大讲堂”案例文档下载;

「喜欢文章,快来给作者赞赏墨值吧」
文章转载自何剑敏,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论