Oralce如何修改间隔分区

最近项目上碰到个问题,在初始化某张表时,按照设计要求是按年做间隔分区。但是竟然忘记加上间隔的参数

INTERVAL(NUMTOYMINTERVAL(1,'year'))
,造成没有按年创建分区。按年自动创建分区的语句如下:

CREAT TABLE tt
(  
   ID NUMBER(8),  
   dd DATE
)  
PARTITION BY RANGE(dd)  
INTERVAL(NUMTOYMINTERVAL(1,'year'))  
(  
  PARTITION P1 VALUES LESS THAN(TO_DATE('2016-01-01','YYYY-MM-DD'))  
);  
当问题发现后,表中已经有几百万条数据,必须要想办法把间隔分区的参数调整。使用如下语法:
ALTER TABLE  tt SET INTERVAL (numtoyminterval(1,'year'));
表修改成功,然后插入2017年的数据,自动创建分区成功。

select TABLE_NAME,PARTITION_NAME,TABLESPACE_NAME from user_tab_partitions where table_name='tt';





阅读更多
文章标签: orale partition rang
个人分类: 开发相关 Oracle
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Oralce如何修改间隔分区

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭