(原创)INTERVAL分区表与RANGE分区表相互转化
1.RANGE分区表转化为INTERVAL分区表
如果有MAXVALUE分区,则先删除,然后再用SET INTERVAL设置为自动分区间隔
ALTER TABLE trdfat_profit DROP PARTITION P_MAX;
ALTER TABLE trdfat_profit SET INTERVAL(1000000);
ALTER TABLE trdfat_profit SET INTERVAL (NUMTODSINTERVAL(1,'DAY')) --NUMTODSINTERVAL常用的单位有 ('day','hour','minute','second')
ALTER TABLE trdfat_profit SET INTERVAL (numtoyminterval(1,'month')); --numtoyminterval常用的单位有'year','month'
SELECT TABLE_NAME, PARTITIONING_TYPE, INTERVAL
FROM dba_PART_TABLES
WHERE TABLE_NAME = 'TRDFAT_PROFIT';
2.INTERVAL分区表可以方便的转化为RANGE分区表
ALTER TABLE trdfat_profit SET Interval();
ALTER TABLE trdfat_profit ADD PARTITION p_max VALUES LESS THAN (MAXVALUE);
3.interval分区的特点
1.由range分区派生而来
2.以定长宽度创建分区(比如年、月、具体的数字(比如100、500等))
3.分区字段必须是number或date类型
4.必须至少指定一个range分区(永久分区)
5.当有记录插入时,系统根据需要自动创建新的分区和本地索引
6.已有的范围分区可被转换成间隔分区(通过ALTER TABLE SET INTERVAL选项完成)
7.Interval Partitioning不支持支持索引组织表
8.在Interval Partitioning表上不能创建domain index