只是針對hash分區和複合分區的hash子分區有效,一個一個收縮。
SQL> select table_name,partition_name from user_tab_partitions where table_name='T_PARTITION_HASH';
TABLE_NAME
------------------------------ ------------------------------
T_PARTITION_HASH
T_PARTITION_HASH
T_PARTITION_HASH
T_PARTITION_HASH
T_PARTITION_HASH
alter table t_partition_hash coalesce partition;
收縮的只是分區,并不影響到數據。
刪除分區:
SQL> select table_name,partition_name from user_tab_partitions where table_name='T_PARTITION_LIST';
TABLE_NAME
------------------------------ ------------------------------
T_PARTITION_LIST
T_PARTITION_LIST
T_PARTITION_LIST
T_PARTITION_LIST
SQL> alter table t_partition_list drop partition t_list_p2;
Table altered
insert into t_partition_list values(1,'a');
insert into t_partition_list values(11,'ab');
insert into t_partition_list values(21,'a');
commit;
查看數據:
SQL> select * from t_partition_list;
---------- --------------------------------------------------
單獨查詢partition 3分區的數據:
SQL> select * from t_partition_list partition(t_list_p3);
---------- --------------------------------------------------
SQL> alter table t_partition_list drop partition t_list_p3;
Table altered
SQL> select * from t_partition_list;
---------- --------------------------------------------------
如果只是刪除分區保留數據應該使用merge partition.