oracle 11g 按时间建分区表

来源:互联网 发布:芜湖网络推广 编辑:程序博客网 时间:2024/06/05 09:14

 

假如已创建的表不能再创建分区,只有重新建分区表,然后将数据导入表中,再将表名改为原表名:

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
0 0
原创粉丝点击