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 PARTITIONPARTITION 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 对表分区维护的增强相关推荐
- mysql 西安_MySQL分区维护
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 注释:实际上,本节讨论的命令还没有在MySQL 5.1中实现, 在这里提出的目的,是为了在5.1版投产前的开发周期期间,引出来自用户测试该软件的反馈意见. ...
- directx修复工具v3.2增强版_微PE v2.0维护盘增强版万能启动盘20200726
微PE工具箱 – 最好用的WinPE装机维护工具!WinPE工具箱,装机维护最得力的助手,最后救命稻草.化繁为简,小材大用,一键安装,极速启动.微PE工具箱,最好用的PE启动盘,没有之一.无任何广告推 ...
- oracle分区维护操作不能与其他,ORA-14048:分区维护操作不能与其它操作组合
ORA-14048:分区维护操作不能与其它操作组合 今天 fannairu 同学导入数据库时出现一个错误, 提示如下: IMP-00017: 由于 ORACLE 错误 14048, 以下语句失败: & ...
- mysql维护分区脚本_mysql 5.6 分区维护
本人英语不好,如下翻译有不当之处敬请纠正: 表和分区的一些维护任务,适用于在mysql5.6的分区表上用sql语句进行. 维护分区表,可以使用支持分区表的语句:CHECK TABLE, OPTIMIZ ...
- 基于ai的预测_基于AI的预测性维护可增强战备状态,减少飞行故障
基于ai的预测 By Philong Duong, Senior Product Manager 高级产品经理Philong Duong As a leading provider of AI-ena ...
- 魔兽世界服务器维护后改动,《魔兽世界》今日服务器维护后 增强部分职业专精伤害...
随着下周即将开放的虚空之光熔炉可以升级神器物品等级,某些职业专精可以从中获取大量的收益,而并不是所有的职业专精都能从武器升级中获取相同的收益.我们必须解决这个问题,目前来说最快的办法就是对各个职业专精 ...
- oracle Interval 分区维护与管理要点
2019独角兽企业重金招聘Python工程师标准>>> 本文取自oracle网官网,以在日常工作中备查 Interval Partitioning Essentials - Comm ...
- Oracle-分区表解读
概述 Oracle-OLAP和OLTP解读 Oracle-index索引解读 Oracle-分区表解读 Oracle-锁解读 Oracle-等待事件解读 Oracle-procedure/cursor ...
- Oracle 数据库12c 新特性总结
1. 在线重命名和重新定位活跃数据文件 不同于以往的版本,在Oracle数据库12c R1版本中对数据文件的迁移或重命名不再需要太多繁琐的步骤,即把表空间置为只读模式,接下来是对数据文件进行离线操作. ...
最新文章
- Android实时获取音量(单位:分贝)
- 201521123009 《Java程序设计》第10周学习总结
- bat 快速切换路径
- [leetcode]Trapping Rain Water @ Python
- 高级语言程序设计(c )试卷,《高级语言程序设计C》试卷
- 编写linux驱动程序步骤
- 面试珍藏:最常见的200多道Java面试题(2019年最新版)
- Qt之QThread用法
- 无法装载文件或者汇编的AjaxControlToolkit
- HDU-6341 Problem J. Let Sudoku Rotate(dfs 剪枝)
- 2.Node.js access_token的获取、存储及更新
- [SDOI2009] HH去散步 (矩阵乘法)
- python中求2-1000的完数_C++求2→1000之间的完数。
- 第二章 2.群中的等价关系 -- 陪集,共轭,正规子群与商群
- Mac下nginx配置虚拟主机,访问报错502
- matlab双峰滤波,MATLAB中的单峰或双峰分布
- 如何将硬盘数据迁移包括系统一起迁移到另一个硬盘?
- 求方程ax^2+bx+c=0的实数根
- 中国电信向小米释放善意,高度认可它的5G性能领先而不是华为
- 使用Requests库进行网页爬取
热门文章
- Android4.1 onTouchEvent分析 (选字模式等)
- 【BZOJ4417】: [Shoi2013]超级跳马
- ASP.NET实现推送文件到浏览器的方法
- hibernate延迟加载(get和load的区别)(转)
- poj1182(食物链)续
- css :after :berfor
- ubuntu系统下gedit 打开GBK字符集编码文件出现乱码问题解决办法
- (Easy) FizzBuzz LeetCode
- net clr via c sharp chap1-- note
- onethink二级导航调用