oracle 11g 分区

1、间隔分区

interval分区是范围分区的增强,可以实现范围分区的自动化,可以自动创建新的分区和本地索引。

测试例子:

先创建一个分区表,

写入不在分区范围内的数据

查看分区已经自动建立了,但是分区名无法指定,对于根据分区名进行备份清理来说,这个貌似还是不智能。

DROP TABLE EDU.TEST23 PURGE
/
CREATE TABLE EDU.TEST23
(ID NUMBER(12),
NAME VARCHAR2(20),
CREATE_DATE DATE
)
PARTITION BY RANGE(CREATE_DATE)
INTERVAL (NUMTOYMINTERVAL(1,'MONTH'))
(
PARTITION P201602 VALUES LESS THAN (TO_DATE('20160201','YYYYMMDD'))

)
/
insert into edu.test23
values(1,'1',sysdate)
/
CREATE TABLE EDU.TEST23
(
    ID          NUMBER(12)       NULL,
    NAME        VARCHAR2(20)     NULL,
    CREATE_DATE DATE             NULL
)
TABLESPACE USERS
PCTFREE 10
PCTUSED 0
INITRANS 1
MAXTRANS 255
STORAGE(BUFFER_POOL DEFAULT)
NOPARALLEL
NOCACHE
PARTITION BY RANGE(CREATE_DATE)
(PARTITION P201602 VALUES LESS THAN (TO_DATE(' 2016-02-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    LOGGING,
 PARTITION SYS_P62 VALUES LESS THAN (TO_DATE(' 2016-04-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
    LOGGING)
/

2、外键分区

通过外键来获得主表的分区方案

比如:主表按照create_date分区,包含外键的表通过外键,就可以按照主表的create_date进行分区。

3、虚拟列分区

允许使用表中的一列或者多列来确定分区,而虚拟列只作为元数据存储。

原文地址:https://www.cnblogs.com/huanhuanang/p/5287489.html