假如已创建的表不能再创建分区,只有重新建分区表,然后将数据导入表中,再将表名改为原表名:
1.我的原表名为MONITOR_DATA,现在建临时分区表:
CREATE TABLE GPS_MONITOR_DATA_TMP
(
DATA_ID CHAR(36 BYTE) NOT NULL,
EQUIP_ID CHAR(36 BYTE) NOT NULL,
GPS_DATE DATE NOT NULL,
CREATE_DATE DATE NOT NULL,
SPEED NUMBER(3) NOT NULL,
KILOMETER NUMBER(6,2) NOT NULL,
LNG NUMBER(7,4) NOT NULL,
LAT NUMBER(7,4) NOT NULL
)
PARTITION BY RANGE (GPS_DATE)
INTERVAL (NUMTOYMINTERVAL(1, 'MONTH'))
(PARTITION P1 VALUES LESS THAN (TO_DATE('2015-7-1', 'YYYY-MM-DD')));
按GPS_DATE按月建分区表,因为我的数据是从2015-7-1有的数据,所以开始日期要写2015-7-1
2.创建好表后,将原表数据导入到该临时表
INSERT INTO GPS_MONITOR_DATA_TMP
SELECT * FROM GPS_MONITOR_DATA 3.删除GPS_MONITOR_DATA,将GPS_MONITOR_DATA_TMP改名为GPS_MONITOR_DATA