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: 無法刪除一個分區中唯一的子分區

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM