1.创建一个与原来大表一样结构的表
-- Create table
create table text
(
y0 NUMBER(10),
y1 NUMBER(10),
y2 NUMBER(10),
y3 NUMBER(10),
y4 NUMBER(10),
y5 NUMBER(10),
y6 NUMBER(10),
y7 NUMBER(10)
) tablespace text
partition by range (start_time) interval(numtodsinterval(1,'day'))
(
partition p1 values less than (to_date('2000-05-07 00:00:00','YYYY-MM-DD HH24:MI:SS')) tablespace text ,
partition p2 values less than (to_date('2012-05-10 00:00:00','YYYY-MM-DD HH24:MI:SS')) tablespace text
);
/
-- 交换数据
alter table text exchange partition p2 with table text1 ;
-- 改原表名 为text1
alter table text RENAME TO text1 ;
-- 改新表text1 为 text
alter table text1 rename to text ;
-- drop table text PURGE ;
把大表 改成 自动分区的 语句 :
ALTER TABLE text1 SET INTERVAL(numtodsinterval(1,'DAY'));
一些对分区的操作命令:
alter table text1 add partition p2
values less than (to_date('2012-05-10 00:00:00','YYYY-MM-DD HH24:MI:SS'))
tablespace text ;
ALTER TABLE text1 TRUNCATE PARTITION SYS_P177143 ;
alter table text1 drop partition p2 ;
alter table text1 truncate partition p2 ;
没有评论:
发表评论