oracle中表的所有分区方式,以及适用范围,并举出相应的例子
发布网友
发布时间:2022-04-27 09:59
我来回答
共2个回答
懂视网
时间:2022-04-08 03:17
由于系统是对前批次系统进行改造,需要对表建立分区
1、已建立未分区的表,无法进行任何表分区的操作,如:增加、删除、合并、拆分均无法操作
2、已分区的表至少保留1个分区,即不能全删
3、若有default分区,无法add指定的list值分区,只能采用split对原default分区进行拆分成指定几个分区,并保留default分区
create table T
(
task_seqno varchar2(10),
bankno varchar2(5)
)partition by list(bankno)
(
partition T_BNK values(DEFAULT)
);
--分割default分区,T为表名,T_BNK为default分区,T_BNK_202 为拆分的值为202的分区,XXXTBS_202为表空间名
Alter table T split partition T_BNK values(202) into (partition T_BNK_202 tablespace XXXTBS_202,partition T_BNK);
oracle表分区心得
标签:
热心网友
时间:2022-04-08 00:25
--创建范围分区
create table temp1
(
empno number ,
ename varchar2(1000),
sal number
)
partition by range (sal)
(
partition p1 values less than (1000),
partition p2 values less than (2000),
partition p3 values less than (3000)
--如果是日期 to_date('2004-01-01','YYYY-MM-DD')或 date '2004-01-01'
);
--创建散列分区
create table temp3
(
empno number ,
ename varchar2(1000),
sal number
)
partition by hash (sal)
(
partition p1,
partition p2,
partition p3,
partition p4
);
或
create table temp3
(
empno number ,
ename varchar2(1000),
sal number
)
partition by hash (sal)
partitions 4;--创建(范围-散列)复合分区
create table temp1
(
empno number ,
ename varchar2(1000),
sal number
)
partition by range (sal)
subpartition by hash (empno)
subpartitions 5
(
partition p1 values less than (1000),
partition p2 values less than (2000),
partition p3 values less than (3000)
)
--创建(范围-列表)复合分区
create table temp1
(
empno number ,
ename varchar2(1000),
sal number
)
PARTITION BY RANGE (sal)
SUBPARTITION BY LIST (ename)
SUBPARTITION TEMPLATE
(SUBPARTITION man VALUES ('刘德华', '张学友'),
SUBPARTITION woman VALUES ('王菲', '赵薇'),
SUBPARTITION other VALUES (DEFAULT))
(PARTITION p1 VALUES LESS THAN (1000),
PARTITION p2 VALUES LESS THAN (2500),
PARTITION p3 VALUES LESS THAN (3000));
--创建列表分区create table temp2
(
empno number(10) ,
ename varchar2(1000),
sal number(10)
)
partition by list (ename)
(
partition ldh values ('刘德华'),
partition zrf values ('周润发'),
partition qt values ('王菲','赵薇')
);----------------------------------以上决定是本人自己编写出来的。复合分区:两种分区方式一起用列表分区:与指定的值相符合的分为一个区范围分区:在指定的范围分为一个区散列分区:无规则分区,系统自带的一个算法进行分区希望以上对你有帮助!