2012-11-01 100 views
0
col1 .... 
col2 .... 
col3 .... 
col4 .... 
PARTITION BY RANGE(DATE_KEY) 
SUBPARTITION BY LIST(REGION_KEY) 
SUBPARTITION TEMPLATE 
    (SUBPARTITION A VALUES (1) TABLESPACE X, 
    SUBPARTITION B VALUES(3) TABLESPACE X, 
    SUBPARTITION C VALUES (8) TABLESPACE X) 
(PARTITION MON_JAN_2012 VALUES LESS THAN (1000) 
    TABLESPACE X 
    PCTFREE 10 
    INITRANS 1 
    MAXTRANS 255 
    NOLOGGING 
    (SUBPARTITION A VALUES (1) TABLESPACE X, 
    SUBPARTITION B VALUES(3) TABLESPACE X, 
    SUBPARTITION C VALUES (8) TABLESPACE X), 
PARTITION MON_FEB_2012 VALUES LESS THAN (2000) 
    TABLESPACE X  PCTFREE 10 
    INITRANS 1 
    MAXTRANS 255 
    NOLOGGING 
    (SUBPARTITION A VALUES (1) TABLESPACE X, 
    SUBPARTITION B VALUES(3) TABLESPACE X, 
    SUBPARTITION C VALUES (8) TABLESPACE X) 

我的表結構是這樣的,我新來的分區,需要爲表從March_2021添加新分區的幾個月,需要正確的語法對於這一點,我試圖谷歌,但不能夠找到添加具有子分區的分區的示例。數據庫10g語法與子分區分區

+0

如果你被DATE_KEY與它們個月後命名爲什麼是值範圍條款分區劃分指定爲*號碼*而非*日期*? – APC

+0

表結構是,我們正在爲每個日期生成一個unqiue值。它是DATE_KEY的整數值 –

回答

1

因爲你有一個模板,添加分區是透明的,子分區:

alter table your_table add partition mon_mar_2012 values less than (3000); 

(這機器會自動爲新分區創建子分區)。

編輯:如果你不會有模板,你應該有manualy創建子分區:

ALTER TABLE your_table MODIFY PARTITION partition 
     ADD SUBPARTITION subpartition_name ... 
+0

謝謝。奇蹟般有效。如果模板不可用,那麼我需要每次都定義子分區,對嗎? –

+0

是的,我在答案中添加了語法。 –

+0

@FlorinGhita如果我有250個RANGE分區,該怎麼辦?它不是最佳的解決方案,包括250個alter語句並將相同的子分區添加到這些分區? –