四.组合范围散列分区
这种分区是基于范围分区和列表分区,表首先按某列进行范围分区,然后再按某列进行列表分区,分区之中的分区被称为子分区。
CREATE TABLE SALES
(
PRODUCT_ID VARCHAR2(5),
SALES_DATE DATE,
SALES_COST NUMBER(10),
STATUS VARCHAR2(20)
)
PARTITION BY RANGE(SALES_DATE) SUBPARTITION BY LIST (STATUS)
(
PARTITION P1 VALUES LESS THAN(TO_DATE('2003-01-01','YYYY-MM-DD'))TABLESPACE rptfact2009
(
SUBPARTITION P1SUB1 VALUES ('ACTIVE') TABLESPACE rptfact2009,
SUBPARTITION P1SUB2 VALUES ('INACTIVE') TABLESPACE rptfact2009
),
PARTITION P2 VALUES LESS THAN (TO_DATE('2003-03-01','YYYY-MM-DD')) TABLESPACE rptfact2009
(
SUBPARTITION P2SUB1 VALUES ('ACTIVE') TABLESPACE rptfact2009,
SUBPARTITION P2SUB2 VALUES ('INACTIVE') TABLESPACE rptfact2009
)
)
五.复合范围散列分区:
这种分区是基于范围分区和散列分区,表首先按某列进行范围分区,然后再按某列进行散列分区。
create table dinya_test
(
transaction_id number primary key,
item_id number(8) not null,
item_description varchar2(300),
transaction_date date
)
partition by range(transaction_date)subpartition by hash(transaction_id) subpartitions 3 store in (dinya_space01,dinya_space02,dinya_space03)
(
partition part_01 values less than(to_date(‘2006-01-01’,’yyyy-mm-dd’)),
partition part_02 values less than(to_date(‘2010-01-01’,’yyyy-mm-dd’)),
partition part_03 values less than(maxvalue)
);
(5).有关表分区的一些维护性操作:
一、添加分区
以下代码给SALES表添加了一个P3分区
ALTER TABLE SALES ADD PARTITION P3 VALUES LESS THAN(TO_DATE('2003-06-01','YYYY-MM-DD'));
注意:以上添加的分区界限应该高于最后一个分区界限。
以下代码给SALES表的P3分区添加了一个P3SUB1子分区
ALTER TABLE SALES MODIFY PARTITION P3 ADD SUBPARTITION P3SUB1 VALUES('COMPLETE');
二、删除分区
以下代码删除了P3表分区:
ALTER TABLE SALES DROP PARTITION P3;
在以下代码删除了P4SUB1子分区:
ALTER TABLE SALES DROP SUBPARTITION P4SUB1;
注意:如果删除的分区是表中唯一的分区,那么此分区将不能被删除,要想删除此分区,必须删除表。
三、截断分区
截断某个分区是指删除某个分区中的数据,并不会删除分区,也不会删除其它分区中的数据。当表中即使只有一个分区时,也可以截断该分区。通过以下代码截断分区:
ALTER TABLE SALES TRUNCATE PARTITION P2;
通过以下代码截断子分区:
ALTER TABLE SALES TRUNCATE SUBPARTITION P2SUB2;
四、合并分区
合并分区是将相邻的分区合并成一个分区,结果分区将采用较高分区的界限,值得注意的是,不能将分区合并到界限较低的分区。以下代码实现了P1 P2分区的合并:
ALTER TABLE SALES MERGE PARTITIONS P1,P2 INTO PARTITION P2;
例子:
create table SJCK_BZ.SB_ZZS_2003_YBNSR_YXSB
(
xh VARCHAR2(32) not null,
sbxh VARCHAR2(32) not null,
pzxh VARCHAR2(32) not null,
sbbl VARCHAR2(1) not null,
nsrdzdah VARCHAR2(40),
ywxtwym VARCHAR2(40),
nsrsbh VARCHAR2(40),
nsrmc VARCHAR2(300),
zq_id VARCHAR2(20),
shenbsx_id VARCHAR2(4),
gzlx_id VARCHAR2(4),
sssqq DATE,
sssqz DATE,
swjg_id VARCHAR2(11),
sbrq DATE,
tbrq DATE,
zspm_id VARCHAR2(20),
hy_id VARCHAR2(20),
djzclx_id VARCHAR2(10),
ssglyswry_id VARCHAR2(11),
syslxse NUMBER(16,2),
syslyshwxse NUMBER(16,2),
syslyslwxse NUMBER(16,2),
syslnsjcxse NUMBER(16,2),
jyzsxse NUMBER(16,2),
jyzsnsjcxse NUMBER(16,2),
mdtckhwxse NUMBER(16,2),
msxse NUMBER(16,2),
mshwxse NUMBER(16,2),
mslwxse NUMBER(16,2),
ysxse NUMBER(16,2),
qbxse NUMBER(16,2),
xxse NUMBER(16,2),
jxse NUMBER(16,2),
sqldse NUMBER(16,2),
jxsezc NUMBER(16,2),
mdthwytse NUMBER(16,2),
syslnsjcybjse NUMBER(16,2),
ydksehj NUMBER(16,2),
sjdkse NUMBER(16,2),
ynse NUMBER(16,2),
qmldse NUMBER(16,2),
jyzsynse NUMBER(16,2),
jyzsnsjcybjse NUMBER(16,2),
ynsejze NUMBER(16,2),
ynsehj NUMBER(16,2),
qcwjse NUMBER(16,2),
ckzyjkstse NUMBER(16,2),
bqyjse NUMBER(16,2),
fcyjse NUMBER(16,2),
ckzyjksyjse NUMBER(16,2),
bqjnsqse NUMBER(16,2),
bqjnqjse NUMBER(16,2),
qmwjse NUMBER(16,2),
qjse NUMBER(16,2),
bqybtse NUMBER(16,2),
jzjtsjtse NUMBER(16,2),
qcwjcbse NUMBER(16,2),
bqrkcbse NUMBER(16,2),
qmwjcbse NUMBER(16,2),
ydkselj NUMBER(16,2),
ygzbz VARCHAR2(1),
bcsblx VARCHAR2(1),
scsbpzxh VARCHAR2(32),
yxbz VARCHAR2(1),
lrrswry_id VARCHAR2(11),
lrrq DATE,
xgrswry_id VARCHAR2(11),
xgrq DATE,
sjlyxt VARCHAR2(20),
sjjcpch VARCHAR2(20),
sjjcsj DATE
)
partition by list (ZQ_ID)
(
partition P_20120000004 values ('20120000004')
tablespace TS_DAT_SJCK_BZ,
partition P_20121000003 values ('20121000003')
tablespace TS_DAT_SJCK_BZ,
partition P_20121100002 values ('20121100002')
tablespace TS_DAT_SJCK_BZ,
partition P_20121101001 values ('20121101001')
tablespace TS_DAT_SJCK_BZ,
partition P_20121102001 values ('20121102001')
tablespace TS_DAT_SJCK_BZ,
partition P_20121103001 values ('20121103001')
tablespace TS_DAT_SJCK_BZ,
partition P_20121200002 values ('20121200002')
tablespace TS_DAT_SJCK_BZ,
partition P_20121204001 values ('20121204001')
tablespace TS_DAT_SJCK_BZ,
partition P_20121205001 values ('20121205001')
tablespace TS_DAT_SJCK_BZ,
partition P_20121206001 values ('20121206001')
tablespace TS_DAT_SJCK_BZ,
partition P_20122000003 values ('20122000003')
tablespace TS_DAT_SJCK_BZ,
partition P_20122300002 values ('20122300002')
tablespace TS_DAT_SJCK_BZ,
partition P_20122307001 values ('20122307001')
tablespace TS_DAT_SJCK_BZ,
partition P_20122308001 values ('20122308001')
tablespace TS_DAT_SJCK_BZ,
partition P_20122309001 values ('20122309001')
tablespace TS_DAT_SJCK_BZ,
partition P_20122400002 values ('20122400002')
tablespace TS_DAT_SJCK_BZ,
partition P_20122410001 values ('20122410001')
tablespace TS_DAT_SJCK_BZ,
partition P_20122411001 values ('20122411001')
tablespace TS_DAT_SJCK_BZ,
partition P_20122412001 values ('20122412001')
tablespace TS_DAT_SJCK_BZ,
partition P_20130000004 values ('20130000004')
tablespace TS_DAT_SJCK_BZ,
partition P_20131000003 values ('20131000003')
tablespace TS_DAT_SJCK_BZ,
partition P_20131100002 values ('20131100002')
tablespace TS_DAT_SJCK_BZ,
partition P_20131101001 values ('20131101001')
tablespace TS_DAT_SJCK_BZ,
partition P_20131102001 values ('20131102001')
tablespace TS_DAT_SJCK_BZ,
partition P_20131103001 values ('20131103001')
tablespace TS_DAT_SJCK_BZ,
partition P_20131200002 values ('20131200002')
tablespace TS_DAT_SJCK_BZ,
partition P_20131204001 values ('20131204001')
tablespace TS_DAT_SJCK_BZ,
partition P_20131205001 values ('20131205001')
tablespace TS_DAT_SJCK_BZ,
partition P_20131206001 values ('20131206001')
tablespace TS_DAT_SJCK_BZ,
partition P_20132000003 values ('20132000003')
tablespace TS_DAT_SJCK_BZ,
partition P_20132300002 values ('20132300002')
tablespace TS_DAT_SJCK_BZ,
partition P_20132307001 values ('20132307001')
tablespace TS_DAT_SJCK_BZ,
partition P_20132308001 values ('20132308001')
tablespace TS_DAT_SJCK_BZ,
partition P_20132309001 values ('20132309001')
tablespace TS_DAT_SJCK_BZ,
partition P_20132400002 values ('20132400002')
tablespace TS_DAT_SJCK_BZ,
partition P_20132410001 values ('20132410001')
tablespace TS_DAT_SJCK_BZ,
partition P_20132411001 values ('20132411001')
tablespace TS_DAT_SJCK_BZ,
partition P_20132412001 values ('20132412001')
tablespace TS_DAT_SJCK_BZ,
partition P_20140000004 values ('20140000004')
tablespace TS_DAT_SJCK_BZ,
partition P_20141000003 values ('20141000003')
tablespace TS_DAT_SJCK_BZ,
partition P_20141100002 values ('20141100002')
tablespace TS_DAT_SJCK_BZ,
partition P_20141101001 values ('20141101001')
tablespace TS_DAT_SJCK_BZ,
partition P_20141102001 values ('20141102001')
tablespace TS_DAT_SJCK_BZ,
partition P_20141103001 values ('20141103001')
tablespace TS_DAT_SJCK_BZ,
partition P_20141200002 values ('20141200002')
tablespace TS_DAT_SJCK_BZ,
partition P_20141204001 values ('20141204001')
tablespace TS_DAT_SJCK_BZ,
partition P_20141205001 values ('20141205001')
tablespace TS_DAT_SJCK_BZ,
partition P_20141206001 values ('20141206001')
tablespace TS_DAT_SJCK_BZ,
partition P_20142000003 values ('20142000003')
tablespace TS_DAT_SJCK_BZ,
partition P_20142300002 values ('20142300002')
tablespace TS_DAT_SJCK_BZ,
partition P_20142307001 values ('20142307001')
tablespace TS_DAT_SJCK_BZ,
partition P_20142308001 values ('20142308001')
tablespace TS_DAT_SJCK_BZ,
partition P_20142309001 values ('20142309001')
tablespace TS_DAT_SJCK_BZ,
partition P_20142400002 values ('20142400002')
tablespace TS_DAT_SJCK_BZ,
partition P_20142410001 values ('20142410001')
tablespace TS_DAT_SJCK_BZ,
partition P_20142411001 values ('20142411001')
tablespace TS_DAT_SJCK_BZ,
partition P_20142412001 values ('20142412001')
tablespace TS_DAT_SJCK_BZ,
partition P_20150000004 values ('20150000004')
tablespace TS_DAT_SJCK_BZ,
partition P_20151000003 values ('20151000003')
tablespace TS_DAT_SJCK_BZ,
partition P_20151100002 values ('20151100002')
tablespace TS_DAT_SJCK_BZ,
partition P_20151101001 values ('20151101001')
tablespace TS_DAT_SJCK_BZ,
partition P_20151102001 values ('20151102001')
tablespace TS_DAT_SJCK_BZ,
partition P_20151103001 values ('20151103001')
tablespace TS_DAT_SJCK_BZ,
partition P_20151200002 values ('20151200002')
tablespace TS_DAT_SJCK_BZ,
partition P_20151204001 values ('20151204001')
tablespace TS_DAT_SJCK_BZ,
partition P_20151205001 values ('20151205001')
tablespace TS_DAT_SJCK_BZ,
partition P_20151206001 values ('20151206001')
tablespace TS_DAT_SJCK_BZ,
partition P_20152000003 values ('20152000003')
tablespace TS_DAT_SJCK_BZ,
partition P_20152300002 values ('20152300002')
tablespace TS_DAT_SJCK_BZ,
partition P_20152307001 values ('20152307001')
tablespace TS_DAT_SJCK_BZ,
partition P_20152308001 values ('20152308001')
tablespace TS_DAT_SJCK_BZ,
partition P_20152309001 values ('20152309001')
tablespace TS_DAT_SJCK_BZ,
partition P_20152400002 values ('20152400002')
tablespace TS_DAT_SJCK_BZ,
partition P_20152410001 values ('20152410001')
tablespace TS_DAT_SJCK_BZ,
partition P_20152411001 values ('20152411001')
tablespace TS_DAT_SJCK_BZ,
partition P_20152412001 values ('20152412001')
tablespace TS_DAT_SJCK_BZ,
partition P_20160000004 values ('20160000004')
tablespace TS_DAT_SJCK_BZ,
partition P_20161000003 values ('20161000003')
tablespace TS_DAT_SJCK_BZ,
partition P_20161100002 values ('20161100002')
tablespace TS_DAT_SJCK_BZ,
partition P_20161101001 values ('20161101001')
tablespace TS_DAT_SJCK_BZ,
partition P_20161102001 values ('20161102001')
tablespace TS_DAT_SJCK_BZ,
partition P_20161103001 values ('20161103001')
tablespace TS_DAT_SJCK_BZ,
partition P_20161200002 values ('20161200002')
tablespace TS_DAT_SJCK_BZ,
partition P_20161204001 values ('20161204001')
tablespace TS_DAT_SJCK_BZ,
partition P_20161205001 values ('20161205001')
tablespace TS_DAT_SJCK_BZ,
partition P_20161206001 values ('20161206001')
tablespace TS_DAT_SJCK_BZ,
partition P_20162000003 values ('20162000003')
tablespace TS_DAT_SJCK_BZ,
partition P_20162300002 values ('20162300002')
tablespace TS_DAT_SJCK_BZ,
partition P_20162307001 values ('20162307001')
tablespace TS_DAT_SJCK_BZ,
partition P_20162308001 values ('20162308001')
tablespace TS_DAT_SJCK_BZ,
partition P_20162309001 values ('20162309001')
tablespace TS_DAT_SJCK_BZ,
partition P_20162400002 values ('20162400002')
tablespace TS_DAT_SJCK_BZ,
partition P_20162410001 values ('20162410001')
tablespace TS_DAT_SJCK_BZ,
partition P_20162411001 values ('20162411001')
tablespace TS_DAT_SJCK_BZ,
partition P_20162412001 values ('20162412001')
tablespace TS_DAT_SJCK_BZ,
partition P_20170000004 values ('20170000004')
tablespace TS_DAT_SJCK_BZ,
partition P_20171000003 values ('20171000003')
tablespace TS_DAT_SJCK_BZ,
partition P_20171100002 values ('20171100002')
tablespace TS_DAT_SJCK_BZ,
partition P_20171101001 values ('20171101001')
tablespace TS_DAT_SJCK_BZ,
partition P_20171102001 values ('20171102001')
tablespace TS_DAT_SJCK_BZ,
partition P_20171103001 values ('20171103001')
tablespace TS_DAT_SJCK_BZ,
partition P_20171200002 values ('20171200002')
tablespace TS_DAT_SJCK_BZ,
partition P_20171204001 values ('20171204001')
tablespace TS_DAT_SJCK_BZ,
partition P_20171205001 values ('20171205001')
tablespace TS_DAT_SJCK_BZ,
partition P_20171206001 values ('20171206001')
tablespace TS_DAT_SJCK_BZ,
partition P_20172000003 values ('20172000003')
tablespace TS_DAT_SJCK_BZ,
partition P_20172300002 values ('20172300002')
tablespace TS_DAT_SJCK_BZ,
partition P_20172307001 values ('20172307001')
tablespace TS_DAT_SJCK_BZ,
partition P_20172308001 values ('20172308001')
tablespace TS_DAT_SJCK_BZ,
partition P_20172309001 values ('20172309001')
tablespace TS_DAT_SJCK_BZ,
partition P_20172400002 values ('20172400002')
tablespace TS_DAT_SJCK_BZ,
partition P_20172410001 values ('20172410001')
tablespace TS_DAT_SJCK_BZ,
partition P_20172411001 values ('20172411001')
tablespace TS_DAT_SJCK_BZ,
partition P_20172412001 values ('20172412001')
tablespace TS_DAT_SJCK_BZ,
partition P_20180000004 values ('20180000004')
tablespace TS_DAT_SJCK_BZ,
partition P_20181000003 values ('20181000003')
tablespace TS_DAT_SJCK_BZ,
partition P_20181100002 values ('20181100002')
tablespace TS_DAT_SJCK_BZ,
partition P_20181101001 values ('20181101001')
tablespace TS_DAT_SJCK_BZ,
partition P_20181102001 values ('20181102001')
tablespace TS_DAT_SJCK_BZ,
partition P_20181103001 values ('20181103001')
tablespace TS_DAT_SJCK_BZ,
partition P_20181200002 values ('20181200002')
tablespace TS_DAT_SJCK_BZ,
partition P_20181204001 values ('20181204001')
tablespace TS_DAT_SJCK_BZ,
partition P_20181205001 values ('20181205001')
tablespace TS_DAT_SJCK_BZ,
partition P_20181206001 values ('20181206001')
tablespace TS_DAT_SJCK_BZ,
partition P_20182000003 values ('20182000003')
tablespace TS_DAT_SJCK_BZ,
partition P_20182300002 values ('20182300002')
tablespace TS_DAT_SJCK_BZ,
partition P_20182307001 values ('20182307001')
tablespace TS_DAT_SJCK_BZ,
partition P_20182308001 values ('20182308001')
tablespace TS_DAT_SJCK_BZ,
partition P_20182309001 values ('20182309001')
tablespace TS_DAT_SJCK_BZ,
partition P_20182400002 values ('20182400002')
tablespace TS_DAT_SJCK_BZ,
partition P_20182410001 values ('20182410001')
tablespace TS_DAT_SJCK_BZ,
partition P_20182411001 values ('20182411001')
tablespace TS_DAT_SJCK_BZ,
partition P_20182412001 values ('20182412001')
tablespace TS_DAT_SJCK_BZ,
partition P_20190000004 values ('20190000004')
tablespace TS_DAT_SJCK_BZ,
partition P_20191000003 values ('20191000003')
tablespace TS_DAT_SJCK_BZ,
partition P_20191100002 values ('20191100002')
tablespace TS_DAT_SJCK_BZ,
partition P_20191101001 values ('20191101001')
tablespace TS_DAT_SJCK_BZ,
partition P_20191102001 values ('20191102001')
tablespace TS_DAT_SJCK_BZ,
partition P_20191103001 values ('20191103001')
tablespace TS_DAT_SJCK_BZ,
partition P_20191200002 values ('20191200002')
tablespace TS_DAT_SJCK_BZ,
partition P_20191204001 values ('20191204001')
tablespace TS_DAT_SJCK_BZ,
partition P_20191205001 values ('20191205001')
tablespace TS_DAT_SJCK_BZ,
partition P_20191206001 values ('20191206001')
tablespace TS_DAT_SJCK_BZ,
partition P_20192000003 values ('20192000003')
tablespace TS_DAT_SJCK_BZ,
partition P_20192300002 values ('20192300002')
tablespace TS_DAT_SJCK_BZ,
partition P_20192307001 values ('20192307001')
tablespace TS_DAT_SJCK_BZ,
partition P_20192308001 values ('20192308001')
tablespace TS_DAT_SJCK_BZ,
partition P_20192309001 values ('20192309001')
tablespace TS_DAT_SJCK_BZ,
partition P_20192400002 values ('20192400002')
tablespace TS_DAT_SJCK_BZ,
partition P_20192410001 values ('20192410001')
tablespace TS_DAT_SJCK_BZ,
partition P_20192411001 values ('20192411001')
tablespace TS_DAT_SJCK_BZ,
partition P_20192412001 values ('20192412001')
tablespace TS_DAT_SJCK_BZ,
partition P_20200000004 values ('20200000004')
tablespace TS_DAT_SJCK_BZ,
partition P_20201000003 values ('20201000003')
tablespace TS_DAT_SJCK_BZ,
partition P_20201100002 values ('20201100002')
tablespace TS_DAT_SJCK_BZ,
partition P_20201101001 values ('20201101001')
tablespace TS_DAT_SJCK_BZ,
partition P_20201102001 values ('20201102001')
tablespace TS_DAT_SJCK_BZ,
partition P_20201103001 values ('20201103001')
tablespace TS_DAT_SJCK_BZ,
partition P_20201200002 values ('20201200002')
tablespace TS_DAT_SJCK_BZ,
partition P_20201204001 values ('20201204001')
tablespace TS_DAT_SJCK_BZ,
partition P_20201205001 values ('20201205001')
tablespace TS_DAT_SJCK_BZ,
partition P_20201206001 values ('20201206001')
tablespace TS_DAT_SJCK_BZ,
partition P_20202000003 values ('20202000003')
tablespace TS_DAT_SJCK_BZ,
partition P_20202300002 values ('20202300002')
tablespace TS_DAT_SJCK_BZ,
partition P_20202307001 values ('20202307001')
tablespace TS_DAT_SJCK_BZ,
partition P_20202308001 values ('20202308001')
tablespace TS_DAT_SJCK_BZ,
partition P_20202309001 values ('20202309001')
tablespace TS_DAT_SJCK_BZ,
partition P_20202400002 values ('20202400002')
tablespace TS_DAT_SJCK_BZ,
partition P_20202410001 values ('20202410001')
tablespace TS_DAT_SJCK_BZ,
partition P_20202411001 values ('20202411001')
tablespace TS_DAT_SJCK_BZ,
partition P_20202412001 values ('20202412001')
tablespace TS_DAT_SJCK_BZ,
partition P_DEFAULT values (DEFAULT)
tablespace TS_DAT_SJCK_BZ
);