全面學習分割槽表及分割槽索引(11)--合併表分割槽
合併兩個分割槽成一個,適用於除hash之外的其它所有分割槽形式(hash分割槽有coalesce partition的嘛,前頭剛剛講過)。
語法很簡單:alter table tbname merge partitions/subpartitions pt1,pt2 into partition/subpartition pt3;
同樣也支援update indexes子句以避免單獨執行造成索引失效的問題。
需要注意一點,要合併的兩個分割槽必須是連續的,這點是由分割槽本身的特性所決定的,如例:
JSSWEB> alter table t_partition_range merge partitions t_range_p1,t_range_p2
2 into partition t_range_pnew;
表已更改。
JSSWEB> select table_name,partition_name,high_value from user_tab_partitions
2 where table_name='T_PARTITION_RANGE';
TABLE_NAME PARTITION_NAME HIGH_VALUE
------------------------------ ------------------------------ ----------------
T_PARTITION_RANGE T_RANGE_P3 30
T_PARTITION_RANGE T_RANGE_PMAX MAXVALUE
T_PARTITION_RANGE T_RANGE_PNEW 20
JSSWEB> select *from t_partition_range partition(t_range_pnew);
ID NAME
---------- --------------------------------------------------
11 a
12 b
13 c
8 g
可見,合併分割槽操作不會造成資料丟失,另外如果你想為新分割槽指定屬性的話,在語句末尾處增加儲存屬性即可(如果不指定,則新分割槽預設繼續表的儲存屬性)。例如:
JSSWEB> select partition_name,high_value,tablespace_name from user_tab_partitions
2 where table_name='T_PARTITION_LIST';
PARTITION_NAME HIGH_VALUE TABLESPACE_NAME
-------------------- -------------------------------------------------- ---------------
T_LIST_P1 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 TBSPART01
T_LIST_P2 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 TBSPART02
T_LIST_P3 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 TBSPART03
T_LIST_PD default TBSPART04
JSSWEB> alter table t_partition_list merge partitions t_list_p2,t_list_p3
2 into partition t_list_p2 tablespace tbspart02;
表已更改。
JSSWEB> select partition_name,high_value,tablespace_name from user_tab_partitions
2 where table_name='T_PARTITION_LIST';
PARTITION_NAME HIGH_VALUE TABLESPACE_NAME
-------------------- -------------------------------------------------- ---------------
T_LIST_P1 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 TBSPART01
T_LIST_P2 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 11, 12, 13 TBSPART02
, 14, 15, 16, 17, 18, 19, 20
T_LIST_PD default TBSPART04
注意,merge分割槽操作與coalesce分割槽操作一樣,視被合併的分割槽資料量多少,都可能涉及到大量的IO操作。
其它合併組合分割槽的操作與上類似,如果要合併組合分割槽,注意關鍵字是merge subpartitions,這裡就不做演示了。
=====================================
檢視前面的連載:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-293474/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 全面學習分割槽表及分割槽索引(13)--分隔表分割槽索引
- 全面學習分割槽表及分割槽索引(10)--交換分割槽索引
- 全面學習分割槽表及分割槽索引(9)--刪除表分割槽索引
- 全面學習分割槽表及分割槽索引(12)--修改list表分割槽索引
- 全面學習分割槽表及分割槽索引(1)索引
- 全面學習分割槽表及分割槽索引(17)--其它索引分割槽管理操作索引
- 全面學習分割槽表及分割槽索引(8)--增加和收縮表分割槽索引
- 全面學習分割槽表及分割槽索引(6)--建立range-list組合分割槽索引
- 全面學習分割槽表及分割槽索引(16)--增加和刪除索引分割槽索引
- 全面學習分割槽表及分割槽索引(15)--修改表分割槽屬性和模板索引
- 全面學習分割槽表及分割槽索引(7)--怎樣管理索引
- 深入學習Oracle分割槽表及分割槽索引Oracle索引
- 深入學習分割槽表及分割槽索引(1)索引
- 全面認識oracle分割槽表及分割槽索引Oracle索引
- Oracle分割槽表及分割槽索引Oracle索引
- 全面學習分割槽表及分割槽索引(7)--怎樣管理(續)索引
- 學習筆記】分割槽表和分割槽索引——新增表分割槽(二)筆記索引
- 【學習筆記】分割槽表和分割槽索引——管理索引分割槽(四)筆記索引
- 深入學習分割槽表及分割槽索引(5)--建立range-hash組合分割槽(續)索引
- 分割槽表及分割槽索引建立示例索引
- 【三思筆記】 全面學習Oracle分割槽表及分割槽索引筆記Oracle索引
- 【學習筆記】分割槽表和分割槽索引——分割槽表的其他管理(三)筆記索引
- 【實驗】【PARTITION】RANGE分割槽表合併分割槽
- 簡單ORACLE分割槽表、分割槽索引Oracle索引
- rebuild分割槽表分割槽索引的方法Rebuild索引
- 全面學習分割槽表及分割槽索引(14)--截斷、移動和重新命名索引
- 如何查詢分割槽表的分割槽及子分割槽
- 【學習筆記】分割槽表和分割槽索引——概念部分(一)筆記索引
- 分割槽表分割槽索引查詢效率探究索引
- Oracle分割槽表基礎運維-06分割槽表索引Oracle運維索引
- oracle分割槽表和分割槽表exchangeOracle
- Oracle帶區域性分割槽索引的分割槽表刪除舊分割槽新增新分割槽Oracle索引
- 分割槽表、分割槽索引和全域性索引部分總結索引
- INTERVAL分割槽表鎖分割槽操作
- oracle分割槽表和非分割槽表exchangeOracle
- MyISAM分割槽表遷移 && 合併
- PLSQL根據分割槽表的分割槽名批次truncate分割槽SQL
- 使用split對分割槽表再分割槽