全面学习Oracle分区表及分区索引(6)-怎样管理
2008-05-27 12:41:44 来源:WEB开发网对于分区表的操作很多,其中某些操作仅针对某些分区有效,为了避免在演示过程中浪费过多口水标注哪些操作适用于哪些分区,咱们先在这儿列个表,哪个操作适用于哪种分区格式具体可以先参考下面这个表格:
分区表 | Range | List | Hash | Range-Hash | Range-List | 是否带来IO操作 |
增加分区(addpartition) | 支持 | 支持 | 支持 | 支持 | 支持 | 除hash类型外,均不变带来大量IO |
收缩分区(coalescepartitions) | / | / | 支持 | 分区:/子分区:支持 | / | 是 |
删除分区(droppartition) | 支持 | 支持 | / | 分区:支持子分区:/ | 支持 | 无 |
交换分区(exchangepartition) | 支持 | 支持 | 支持 | 支持 | 支持 | 无 |
合并分区(mergepartition) | 支持 | 支持 | / | 分区:支持子分区:/ | 支持 | 是 |
修改默认属性(modifydefaultattributes) | 支持 | 支持 | 支持 | 支持 | 支持 | 无 |
修改分区当前属性(modifypartition) | 支持 | 支持 | 支持 | 支持 | 支持 | 无 |
List分区增加值(modifypartitionaddvalues) | / | 支持 | / | / | 分区:/子分区:支持 | 无 |
List分区删除值(modifypartitiondropvalues) | / | 支持 | / | / | 分区:/子分区:支持 | 单纯删除操作无,但可能为了实现成功删除,之前的准备操作会带来一定量的IO |
修改子分区模板(setsubpartitiontemplate) | / | / | / | 支持 | 支持 | 无 |
移动分区(movepartition) | 支持 | 支持 | 支持 | 分区:支持子分区:/ | 分区:支持子分区:/ | 有 |
重命名分区(renamepartition) | 支持 | 支持 | 支持 | 支持 | 支持 | 无 |
分隔分区(splitpartition) | 支持 | 支持 | / | 分区:支持子分区:/ | 支持 | 有 |
截断分区(truncatepartition) | 支持 | 支持 | 支持 | 支持 | 支持 | 无 |
注:上述IO列的评估建立在假设分区中均存在一定量数据,并忽略修改数据字典可能触发的IO,忽略造成的索引的重编译带来的IO。
分区索引的操作也有一张表黑黑,如下
分区索引 | 索引类型 | Range | List | Hash | 组合分区 | 是否带来IO操作 |
增加分区 (addpartition) | 全局 | / | / | 支持 | / | 是 |
本地 | / | / | / | / | ||
删除分区 (droppartition) | 全局 | 支持 | / | / | / | 无 |
本地 | / | / | / | / | ||
修改默认属性 (modifydefaultattributes) | 全局 | 支持 | / | / | / | 无 |
本地 | 支持 | 支持 | 支持 | 支持 | 无 | |
修改分区当前属性 (modifypartition) | 全局 | 支持 | / | / | / | 无 |
本地 | 支持 | 支持 | 支持 | 支持 | 无 | |
重编译分区 (rebuildpartition) | 全局 | 支持 | / | / | / | 有 |
本地 | 支持 | 支持 | 支持 | 支持 | 有 | |
重命名分区 (renamepartition) | 全局 | 支持 | / | / | / | 无 |
本地 | 支持 | 支持 | 支持 | 支持 | 无 | |
分隔分区 (splitpartition) | 全局 | 支持 | / | / | / | 有 |
本地 | / | / | / | / |
另外local索引前头我们多次提到了,其维护会在oracle操作表分区的时候自动进行,需要注意的是global索引,当global索引所在表执行alter table涉及下列操作时,会导至该索引失效:
Ø ADD PARTITION | SUBPARTITION
Ø COALESCE PARTITION | SUBPARTITION
Ø DROP PARTITION | SUBPARTITION
Ø EXCHANGE PARTITION | SUBPARTITION
Ø MERGE PARTITION | SUBPARTITION
Ø MOVE PARTITION | SUBPARTITION
Ø SPLIT PARTITION | SUBPARTITION
Ø TRUNCATE PARTITION | SUBPARTITION
因此,建议用户在执行上述操作sql语句后附加update indexes子句,oracle即会自动维护全局索引,当然,需要注意这中间有一个平衡,你要平衡操作ddl的时间和重建索引哪个时间更少,以决定是否需要附加update indexes子句。
- ››oracle 恢复误删除的表和误更新的表
- ››Oracle分页查询排序数据重复问题
- ››Oracle创建dblink报错:ORA-01017、ORA-02063解决
- ››Oracle 提高SQL执行效率的方法
- ››Oracle 动态查询,EXECUTE IMMEDIATE select into...
- ››Oracle 11g必须开启的服务及服务详细介绍
- ››oracle性能34条优化技巧
- ››oracle数据库生成随机数的函数
- ››Oracle 数据库表空间容量调整脚本
- ››oracle单库彻底删除干净的方法
- ››学习破解方法来降低无线网络被盗
- ››Oracle创建表空间、创建用户以及授权、查看权限
更多精彩
赞助商链接