Oracle分区修改的语句
1、增加一个分区
1 2 3
| ALTER TABLE sales ADD PARTITION jan96 VALUES LESS THAN ( '01-FEB-1999' ) TABLESPACE tsx;
|
增加一个列表分区
1 2 3 4
| ALTER TABLE q1_sales_by_region ADD PARTITION q1_nonmainland VALUES ('HI', 'PR') STORAGE (INITIAL 20K NEXT 20K) TABLESPACE tbs_3 NOLOGGING;
|
2、合并分区
1
| alter table dept coalesce partition
|
3、删除分区
1 2
| ALTER TABLE sales DROP PARTITION dec98; ALTER INDEX sales_area_ix REBUILD(如果含有全局索引);
|
4、合并分区
1 2 3 4 5 6 7 8 9 10 11
| ALTER TABLE four_seasons MERGE PARTITIONS quarter_one, quarter_two INTO PARTITION quarter_two; Then, rebuild the local index for the affected partition. ALTER TABLE four_seasons MODIFY PARTITION quarter_two REBUILD UNUSABLE LOCAL INDEXES;
|
5、移动一个分区
1 2
| ALTER TABLE parts MOVE PARTITION depot2 TABLESPACE ts094 NOLOGGING;
|
6、重建一个local索引
1
| ALTER INDEX I_FOUR_SEASONS_L REBUILD PARTITION I_QUARTER_FOUR
|
7、重命名一个分区
1
| ALTER TABLE scubagear RENAME PARTITION sys_p636 TO tanks
|
8、一个分区拆分为两个分区
1 2 3 4 5
| ALTER TABLE RANGE_EXAMPLE SPLIT PARTITION PART_1 at (TO_DATE(' 1994-05-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS')) INTO ( PARTITION PART_1 tablespace st1, PARTITION PART_3 tablespace users)
|
9、truncate一个分区
1 2
| ALTER TABLE sales TRUNCATE PARTITION dec98; ALTER INDEX sales_area_ix REBUILD;
|
10、如果存在约束的情况,先disable约束
1 2 3 4 5
| ALTER TABLE sales DISABLE CONSTRAINT dname_sales1; ALTER TABLE sales TRUNCATE PARTITTION dec94; ALTER TABLE sales ENABLE CONSTRAINT dname_sales1;
|