博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
12C 对表分区维护的增强
阅读量:6487 次
发布时间:2019-06-24

本文共 1909 字,大约阅读时间需要 6 分钟。

Oracle Database 12c对表分区变化比较多,共分为下面几点

 1.在线移动分区:通过MOVE ONLINE关键字实现在线分区移动。移动过程中,对表和被移动的分区可以执行查询操作,

DML语句以及分区的创建和维护操作。整个移动过程对用户来说是透明的。

 2.多个分区同时操作:可以对多个分区同时进行维护操作,如将一年的12个分区合并到一个新的分区中,或者将一个分区

 

分成多个分区。可以通过FOR语句指定操作的每个语句,对于RANGE分区而言,也可以通过TO来指定处理分区的范围。

多个分区操作自动并行完成。

 

 3.INTERVAL-REFERENCE分区:把11g的interval分区和reference分区结合,这样主表自动增加一个分区后,所有字表,

孙子表·····重重孙子表上都会自动随着外界列数据增加,自动创建新的分区。

 4.TRUNCATE和EXCHANGE分区及子分区。五分是TRUNCATE还是EXCHANGE分区,在主表上执行,都可以级联的作用在字表,

孙子吧·····重重孙子表上同时执行。对于TRUNCATE而言,所有表的TRUNACATE操作在同一个事务中,如果中途失败,

会回滚到之前的状态。通过关键字CASCADE实现。

 

 5.异步全局索引维护:对于非常大的分区表而言,UPDATE GLOBAL INDEX不再是痛苦。Oracle可以实现了异步维护的

功能,即使是几亿条的记录的全局索引,在分区维护操作,比如DROP或TRUNCATE后,仍然是VALID状态,索引不会失效,

不过索引的状态是包含OBSOLETE数据,当维护操作完成,索引状态恢复。

 6.部分本地和全局索引:Oracle的所有可以在分区级别定义。无论全局索引还是本地所有都可以在分区表的部分分区

上建立,其他分区上则没有所有。当通过所有列访问全表数据时,Oracle通过UNION ALL实现,一部分通过索引扫描,

另一部分通过全分区扫描。这可以减少对历史数据的索引量,增强了灵活性。

 

具体例子:

1)添加多个新分区:

 在12c之前,一次只能添加一个新分区到一个已存在的分区表。在12c中只需要一条单独的ALTER TABLE  ADD PARTITION

 命令就可以添加N个新分区。

 ALTER TABLE EMP_PART ADD PARTITION PARTITION P4 VALUES LESS THAN(35000) PARTITION P5 VALUES LESS THAN(40000)

 同样,只要MAXVALUE分区不存在,可以添加多个新分区到一个列表和系统分区表

2)删除、截断多个分区/子分区

 通过在此之前,一次只能删除/截断一个分区。12c中通过ALTER TABLE table_name {TRUNCAT|DROP}  PARTITIONS

 ALTER TABLE EMP_PART DROP PARTITIONS P4,P5; ALTER TABLE EMP_PART TRUNCATE PARTITIONS P4,P5;

 要保持索引更新,使用UPDATE INDEXES或UPDATE GLOBAL INDEXES语句。

 ALTER TABLE EMP_PART DROP PARTITIONS P4,P5 UPDATE GLOBAL INDEXES; ALTER TABLE EMP_PART TRUNCATE PARTITIONS P4,P5 UPDATE GLOBAL INDEXES;

 如果没有使用UPDATE GLOBAL INDEXES更新索引,也可以通过查询ORPHANED_ENTRIES字段找出是否有索引包含过期的条目

3)将单个分区分割为多个新分区

 在此之前是无法单个命令完成这个操作的。

 ALTER TABLE EMP_PART SPLIT PARTITIONS p_max INTO (PARTITION P4 VALUES LESS THAN (30000), PARTITION P5 VALUES LESS THAN(40000), PARTITION P_MAX);

4)将多个分区合并为一个分区

 ALTER TABLE EMP_PART MERGE PARTITIONS P2,P3,P4 INTO PARTITION P_MERGE;

 如果是连续分区,可以通过TO来

 ALTER TABLE EMP_PART MERGE PARTITIONS P2 TO P4 INTO PARTITION P_MERGE;

 

标签:12C 分区表

转载地址:http://anauo.baihongyu.com/

你可能感兴趣的文章
Java单向链表反转
查看>>
一些开发遇到的"小问题",你能答对多少?
查看>>
面对前车之鉴的AR,现在的VR要做些什么?
查看>>
自然语言理解势头正强劲,可总还是缺点啥
查看>>
【python图像处理】给图像添加透明度(alpha通道)
查看>>
区块链与微服务天生是一对
查看>>
VDI市场:探寻企业影子IT风险来源|
查看>>
阿里云黄海宇:窄带高清2.0——让直播更惊艳的魔术
查看>>
SID颁发全球显示行业个人奖项
查看>>
百度地图拖动标注后获取坐标
查看>>
RAC重要概念和原理
查看>>
Mysql客户端下载地址
查看>>
高并发网络编程之epoll详解
查看>>
ORACLE SQL调优之记录一次trim函数引发的大表全表扫描
查看>>
JS编程建议——20:不要使用new
查看>>
Oracle hint之DRIVING_SITE
查看>>
深入理解计算机系统结构——链接
查看>>
阿里云盾提醒网站被WebShell木马后门分析与对策
查看>>
Java开发者福利——Java编码规范Eclipse/IDEA插件
查看>>
not accessible due to restriction on required library
查看>>