oracle去除分区list,oracle 11g 如何创建、修改、删除list-list组合分区

Oracle11g在分区方面做了很大的提高,不但新增了4种复合分区类型,还增加了虚拟列分区、系统分区、INTERVAL分区等功能。

9i开始,Oracle就包括了2种复合分区,RANGE-HASH和RANGE-LIST。在11g,Oracle一下就提供了4种复合分区:RANGE-RANGE、LIST-RANGE、LIST-HASH和LIST-LIST。

oracle 11g创建、修改、删除list-list组合分区命令如下:

1、--创建list-list组合分区表

create table MYPARTTABLE

(

ID number(10),

NAME varchar2(256),

PROVINCECODE varchar2(2),

AREACODE number(6)

)

partition by list (provincecode)

subpartition by list(areacode)

(

partition MYPARTTABLE_FJ values ('FJ')

(

subpartition MYPARTTABLE_FJ_590 values(590),

subpartition MYPARTTABLE_FJ_591 values(591),

subpartition MYPARTTABLE_FJ_592 values(592)

)

,

partition MYPARTTABLE_XZ values ('XZ')

(

subpartition MYPARTTABLE_XZ_5400 values(5400),

subpartition MYPARTTABLE_XZ_891 values(891),

subpartition MYPARTTABLE_XZ_892 values(892)

)

);

2、--新增一个list-list分区

alter table MYPARTTABLE add partition MYPARTTABLE_LN values('LN');--不带子分区

alter table MYPARTTABLE add partition MYPARTTABLE_LN values('LN')

(

subpartition MYPARTTABLE_LN_2100 values(2100),

subpartition MYPARTTABLE_LN_24 values(24)

);--带子分区

3、--新增一个子分区

alter table MYPARTTABLE modify partition MYPARTTABLE_LN add subpartition MYPARTTABLE_LN_412 values(412);

4、--新增多个分区/子分区

摘自:http://www.searchdatabase.com.cn/showcontent_74959.htm

在Oracle 12c R1之前,一次只可能添加一个新分区到一个已存在的分区表。要添加一个以上的新分区,需要对每个新分区都单独执行一次ALTER TABLE ADD PARTITION语句。

而Oracle 12c只需要使用一条单独的ALTER TABLE ADD PARTITION 命令就可以添加多个新分区,这增加了数据库灵活性。

SQL> alter table MYPARTTABLE modify partition MYPARTTABLE_LN add subpartition MYPARTTABLE_LN_412 values(412),subpartition MYPARTTABLE_LN_414 values(414);

alter table MYPARTTABLE modify partition MYPARTTABLE_LN add subpartition MYPARTTABLE_LN_412 values(412),subpartition MYPARTTABLE_LN_414 values(414)

ORA-14158: 子分区说明太多

5、--删除非唯一的list-list组合分区

alter table MYPARTTABLE drop partition MYPARTTABLE_LN;

alter table MYPARTTABLE drop partition MYPARTTABLE_FJ;

6、--删除唯一的list-list组合分区

alter table MYPARTTABLE drop partition MYPARTTABLE_XZ;

ORA-14083: 无法删除分区表的唯一分区

7、--删除非唯一的子分区

alter table MYPARTTABLE drop subpartition MYPARTTABLE_LN_24;

alter table MYPARTTABLE drop subpartition MYPARTTABLE_LN_412;

8、--删除唯一的子分区

alter table MYPARTTABLE drop subpartition MYPARTTABLE_LN_2100;

ORA-14629: 无法删除一个分区中唯一的子分区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值