创建子分区的示例代码
======================================
RANGE-HASH-9i
-------------------------
CREATE TABLE SUBPART
(
ID NUMBER(10) PRIMARY KEY,
NAME VARCHAR2(20)
)
PARTITION BY RANGE(ID)
SUBPARTITION BY HASH(NAME)
SUBPARTITIONS 3
(
PARTITION P1 VALUES LESS THAN(10),
PARTITION P2 VALUES LESS THAN(20),
PARTITION P3 VALUES LESS THAN(MAXVALUE)
);
在这种情况下,外部合作伙伴是RANGE
内部(子)分区由HASH组成
在上面的示例中,它在每个分区中创建了3个子分区。
创建子分区的示例代码
======================================
范围清单-每10克
------------------------------------
CREATE TABLE RL
(
ID NUMBER(10) PRIMARY KEY,
NAME VARCHAR2(20)
)
PARTITION BY RANGE(ID)
SUBPARTITION BY LIST(NAME)
(
PARTITION P1 VALUES LESS THAN(10)
(
SUBPARTITION PP1 VALUES ('A','B'),
SUBPARTITION PP2 VALUES ('C','D')
),
PARTITION P2 VALUES LESS THAN(20)
(
SUBPARTITION PP3 VALUES ('A','B'),
SUBPARTITION PP4 VALUES ('C','D')
)
)
仅在版本10中尝试此代码。
在这种情况下,主分区由RANGE划分,子分区由LIST划分
分割现有分区
-------------------------------------------------
Alter Table <t.n.> Split Partition P1 At (10) Into
(partition P3,partition P4);
合并现有分区
-------------------------------------------------- -----
Alter Table <t.n.>
Merge Partitions P1,p2 Into Partition P3;
------------------
交换分区
-------------------------------------------
Alter Table <t.n.>
Exchange Partition P1 With Table<t.n.>including/excluding Indexes With/without Validation
================================
2.partition无法添加到非分区表中。
3.如果删除分区,它将与所有记录一起删除。
4.无法从分区表中删除最后一个现有分区。 对于那滴桌子本身。
5.如果在创建表时在最后一个分区中指定了maxvalue,则不能将范围比最后一个现有分区更多的另一个分区添加到表中。
6.如果通过复制表的结构创建表,则源表的分区将不会复制到新表。
From: https://bytes.com/topic/oracle/insights/768495-using-partition-2-a