1:添加分区:
ALTER TABLE SALES ADD PARTITION P3 VALUES LESS THAN(TO_DATE('2003-06-01','YYYY-MM-DD')); SALES表添加了一个P3分区 ALTER TABLE 表名 ADD PARTITION 分区名 VALUES LESS THAN(TO_DATE('2003-06-01','YYYY-MM-DD'));
给分区添加子分区:
ALTER TABLE SALES MODIFY PARTITION P3 ADD SUBPARTITION P3SUB1 VALUES('COMPLETE');
2:删除分区
ALTER TABLE SALES DROP PARTITION P3;
删除子分区
ALTER TABLE SALES DROP SUBPARTITION P4SUB1;
3:截断分区
ALTER TABLE SALES TRUNCATE PARTITION P2;
截断子分区
ALTER TABLE SALES TRUNCATE SUBPARTITION P2SUB2;
4:合并分区
合并分区是将相邻的分区合并成一个分区,结果分区将采用较高分区的界限,值得注意的是,不能将分区合并到界限较低的分区
ALTER TABLE SALES MERGE PARTITIONS P1,P2 INTO PARTITION P2; 将表的分区p1,p2合并到p2中 ALTER TABLE 表名 MERGE PARTITIONS P1,P2 INTO PARTITION P2;
5:拆分分区
拆分分区将一个分区拆分两个新分区,拆分后原来分区不再存在。注意不能对HASH类型的分区进行拆分
ALTER TABLE SALES SBLIT PARTITION P2 AT(TO_DATE('2003-02-01','YYYY-MM-DD')) INTO (PARTITION P21,PARTITION P22);
6:接合分区(coalesca)
结合分区是将散列分区中的数据接合到其它分区中,当散列分区中的数据比较大时,可以增加散列分区, 然后进行接合,值得注意的是,接合分区只能用于散列分区中
ALTER TABLE SALES COALESCA PARTITION;
7:重命名表分区
将P21更改为P2 ALTER TABLE SALES RENAME PARTITION P21 TO P2;
8:分区查询
跨分区查询
select sum( *) from (select count(*) cn from t_table_SS PARTITION (P200709_1) union all select count(*) cn from t_table_SS PARTITION (P200709_2) );
9:查询表上有多少分区
SELECT * FROM useR_TAB_PARTITIONS WHERE TABLE_NAME='tableName'
10:查询分区所在的表空间
select table_name,partition_name,tablespace_name from user_tab_partitions;