12C 对表分区维护的增强
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 对表分区维护的增强的更多相关文章
- Partition2:对表分区
在SQL Server中,普通表可以转化为分区表,而分区表不能转化为普通表,普通表转化成分区表的过程是不可逆的,将普通表转化为分区表的方法是: 在分区架构(Partition Scheme)上创建聚集 ...
- zabbix使用mysql数据库 对表分区
zabbix删除历史数据 mysql 表自动分区.删除 ----2016年终总结 二 zabbix清理历史数据是个比较蛋疼的问题,尤其在监控数据较多时,一方面无法彻底释放历史数据空间,一方面数据库删除 ...
- mysql-定时对表分区
1, 分区 具体可见: http://blog.csdn.net/open_data/article/details/46893331 1, 分区类型: RANGE分区:基于属于一个给定连续区间的列值 ...
- Linux SWAP交换分区维护
1.查看当前swap分区信息
- ORACLE 12c RAC日常维护命令
转至:https://blog.51cto.com/ixdba/901545 CRS提供了很多命令可以管理和查看集群服务状态,常用的有crs_stat.crs_start.crs_stop.crsct ...
- Oracle12c功能增强新特性之维护&升级&恢复&数据泵等
1. 内容提要 1) 表分区维护的增强. 2) 数据库升级改善. 3) 跨网络还原/恢复数据文件. 4) 数据泵的增强. 5) 实时ADDM. 6) 并发统计信息收集. 2 ...
- Oracle 12C 新特性之表分区带 异步全局索引异步维护(一次add、truncate、drop、spilt、merge多个分区)
实验准备:-- 创建实验表CREATE TABLE p_andy(ID number(10), NAME varchar2(40))PARTITION BY RANGE (id)(PARTITION ...
- 12c分区增强功能,新功能(文档ID 1568010.1)
12c Partitioning Enhancements, New Features (Doc ID 1568010.1) APPLIES TO: Oracle Database - Enterpr ...
- 如何在Oracle 12C中Drop/Truncate多个分区 (Doc ID 1482264.1)
How to Drop/Truncate Multiple Partitions in Oracle 12C (Doc ID 1482264.1) APPLIES TO: Oracle Databas ...
随机推荐
- SpringBoot AOP 与 IoC
Spring的核心就是AOP与IoC,想要学习SpringBoot,首先得理解这些概念: AOP(Aspect Oriented Programming 面向切面编程) IoC(Inversion o ...
- Linux7关闭防火墙
RedHat Enterprise Linux 7关闭防火墙方法 在之前的版本中关闭防火墙等服务的命令是 service iptables stop /etc/init.d/iptables stop ...
- 企业微信小程序--从零开始(带你见证从头开始的企业小程序之开发运营)
1.注册微信小程序账户(自己摸索吧很简单的) 2.微信小程序认证 3.遇到的问题 1)
- 初探UiAutomator2.0中使用Xpath定位元素
J 今天的主题是讲一下在使用过程中遇到的一个问题,如何在UiAutomator2.0中使用Xpath定位元素? 背景 现在的app在打包成apk的时候都是有加固处理的,各种混淆加固,所以已经破坏了或扰 ...
- Linux 任务控制(bg job fg nohup &) (转)
常用命令 & 将指令丢到后台中去执行[ctrl]+z 將前台任务丟到后台中暂停jobs 查看后台的工作状态fg %jobnumber 将后台的任务拿到前台来处理bg %jobnumber 将任 ...
- poj3468线段树标记永久化
#include<map> #include<set> #include<list> #include<cmath> #include<queue ...
- 2017年浙江工业大学大学生程序设计迎新赛热身赛-J-Forever97与寄信
Forever97与未央是一对笔友,他们经常互相写信.有一天Forever97去邮局寄信,发现邮局的收费方式变成了按字收费,收取的费用为总字数除了其自身以外的最大因子.虽然Forever97是一个有情 ...
- pdb 源码索引符号服务器创建过程
pdb是调试程序必不可少的东西,它保存着一个exe或dll的调试信息,对pdb进行源码索引可以快速找到软件对应该版本的代码,本文以subversion版本控制服务器进行介绍 一.需要安装的软件 win ...
- win8 商店应用 概观
外观: 1,适应性好.可以在各种外形规格和显示大小上正确的展示数据. 2,磁贴. 交互方式: 1,应用栏.使用应用栏可以向用户显示命令和工具.默认情况下,应用栏会被隐藏,当用户使用手指从屏幕的底部边缘 ...
- Android读取asserts和raw文件夹下的文件
Android读取asserts和raw文件夹下的文件 经常需要用到读取“/res/raw”和"/asserts"文件夹下的文件,索性写成工具类方便以后使用. 一.raw文件夹下的 ...