Change the partition properties of an existing table.
Syntax:
ALTER TABLE [schema.]table partitioning_clause [PARALLEL parallel_clause] [ENABLE enable_clause | DISABLE disable_clause] [{ENABLE|DISABLE} TABLE LOCK] [{ENABLE|DISABLE} ALL TRIGGERS]; partitioning_clause: ADD PARTITION partition --add Range ptn VALUES LESS THAN (value, value, [MAXVALUE],…) [partition_description] ADD PARTITION partition --add Hash ptn storage_options extent_options OVERFLOW storage_options extent_options COMPRESS | NOCOMPRESS LOB (LOB_item) STORE AS LOB_segname VARRAY varray STORE AS LOB_segname {UPDATE | INVALIDATE} GLOBAL INDEXES PARALLEL int | NOPARALLEL ADD PARTITION partition --add List ptn VALUES (DEFAULT | NULL | value [, ]) [partition_description] COALESCE PARTITION partition {UPDATE | INVALIDATE} GLOBAL INDEXES PARALLEL int | NOPARALLEL DROP [SUB]PARTITION partition {UPDATE | INVALIDATE} GLOBAL INDEXES PARALLEL int | NOPARALLEL MODIFY PARTITION partition storage_options extent_options OVERFLOW storage_options extent_options COMPRESS | NOCOMPRESS LOB (LOB_item) STORE AS LOB_segname VARRAY varray STORE AS LOB_segname ADD SUBPARTITION subpartition [VALUES (DEFAULT | NULL | value [, ])] TABLESPACE tablespace OVERFLOW [TABLESPACE tablespace] LOB (LOB_item) STORE AS LOB_segname VARRAY varray STORE AS LOB_segname [{UPDATE | INVALIDATE} GLOBAL INDEXES] [PARALLEL int | NOPARALLEL] COALESCE SUBPARTITION -- for HASH Partition [{UPDATE | INVALIDATE} GLOBAL INDEXES] [PARALLEL int | NOPARALLEL] MAPPING TABLE UPDATE BLOCK REFERENCES MAPPING TABLE ALLOCATE EXTENT [( [size int K | M ] [DATAFILE 'filename' ] [INSTANCE int] ) MAPPING TABLE DEALLOCATE UNUSED [KEEP int K | M ] {ADD | DROP} VALUES (partition_value,…) -- for List Partition [REBUILD] UNUSABLE LOCAL INDEXES MODIFY DEFAULT ATTRIBUTES [FOR PARTITION partition] storage_options [PCTTHRESHOLD int] [[NO]COMPRESS [int]] [overflow_clause] [LOB lob_item LOB_parameters][VARRAY varray LOB_parameters] MODIFY SUBPARTITION subpartion ALLOCATE EXTENT [( [size int K | M ] [DATAFILE 'filename' ] [INSTANCE int] ) DEALLOCATE UNUSED [KEEP int K | M ] {ADD | DROP} VALUES (partition_value,…) LOB (LOB_item) STORE AS LOB_segname VARRAY varray STORE AS LOB_segname {ADD | DROP} VALUES (partition_value,…) -- for List Partition [REBUILD] UNUSABLE LOCAL INDEXES MOVE PARTITION partition [MAPPING TABLE] storage_options [COMPRESS [int] | NOCOMPRESS] OVERFLOW storage_options LOB (LOB_item) STORE AS LOB_segname VARRAY varray STORE AS LOB_segname SUBPARTITIONS hash_subpartition_quantity [STORE IN (tablespace,…)] (SUBPARTITION subpartition [VALUES (DEFAULT | NULL | value,…)] TABLESPACE tablespace OVERFLOW [TABLESPACE tablespace] LOB (LOB_item) STORE AS LOB_segname VARRAY varray STORE AS LOB_segname ,SUBPARTITION…) {UPDATE | INVALIDATE} GLOBAL INDEXES {NOPARALLEL|PARALLEL int} MOVE SUBPARTITION subpartion [partition_description] VALUES (DEFAULT | NULL | value [, ]) TABLESPACE tablespace OVERFLOW [TABLESPACE tablespace] LOB (LOB_item) STORE AS LOB_segname VARRAY varray STORE AS LOB_segname {UPDATE | INVALIDATE} GLOBAL INDEXES {NOPARALLEL|PARALLEL int} RENAME [SUB]PARTITION ptn_name TO new_name TRUNCATE [SUB]PARTITION ptn_name {DROP|REUSE} STORAGE {UPDATE | INVALIDATE} GLOBAL INDEXES {NOPARALLEL|PARALLEL int} SET SUBPARTITION TEMPLATE (SUBPARTITION subpartition [VALUES (DEFAULT | NULL | value [, ])] TABLESPACE tablespace OVERFLOW [TABLESPACE tablespace] LOB (LOB_item) STORE AS LOB_segname VARRAY varray STORE AS LOB_segname ) SET SUBPARTITION TEMPLATE int --hash SubPartition quantity SPLIT PARTITION ptn_name AT (value, value…) INTO (ptn_spec, ptn_spec) {UPDATE | INVALIDATE} GLOBAL INDEXES {NOPARALLEL|PARALLEL int} SPLIT SUBPARTITION ptn_name VALUES (value, [NULL],value [, ]) INTO (ptn_spec, ptn_spec) {UPDATE | INVALIDATE} GLOBAL INDEXES {NOPARALLEL|PARALLEL int} MERGE PARTITIONS ptn_1, ptn_2 INTO PARTITION partition storage_options extent_options OVERFLOW storage_options extent_options COMPRESS | NOCOMPRESS LOB (LOB_item) STORE AS LOB_segname VARRAY varray STORE AS LOB_segname SUBPARTITIONS hash_subpartition_quantity [STORE IN (tablespace [, ])] (SUBPARTITION subpartition [VALUES (DEFAULT | NULL | value [, ])] TABLESPACE tablespace OVERFLOW [TABLESPACE tablespace] LOB (LOB_item) STORE AS LOB_segname VARRAY varray STORE AS LOB_segname ,SUBPARTITION…) {UPDATE | INVALIDATE} GLOBAL INDEXES {NOPARALLEL | PARALLEL int} MERGE SUBPARTITIONS subptn_1, subptn_2 INTO SUBPARTITION subpartition VALUES LESS THAN (value, value, [MAXVALUE] [, ]) TABLESPACE tablespace OVERFLOW [TABLESPACE tablespace] LOB (LOB_item) STORE AS LOB_segname VARRAY varray STORE AS LOB_segname ,SUBPARTITION… {UPDATE | INVALIDATE} GLOBAL INDEXES {NOPARALLEL | PARALLEL int} EXCHANGE [SUB]PARTITION [sub]partition WITH TABLE table {INCLUDING|EXCLUDING} INDEXES {WITH|WITHOUT} VALIDATION EXCEPTIONS INTO [schema.]table {UPDATE | INVALIDATE} GLOBAL INDEXES {NOPARALLEL|PARALLEL int} storage_options: PCTFREE int PCTUSED int INITTRANS int MAXTRANS int STORAGE storage_clause TABLESPACE tablespace {LOGGING|NOLOGGING} overflow_clause: OVERFLOW ALLOCATE EXTENT [( [size int K | M ] [DATAFILE 'filename' ] [INSTANCE int] )] OVERFLOW DEALLOCATE UNUSED [KEEP int K | M ] ADD OVERFLOW storage_options [(PARTITION storage_options [,PARTITION storage_options [, ]])] extent_options: ALLOCATE EXTENT [( [size int K | M ] [DATAFILE 'filename' ] [INSTANCE int] )] DEALLOCATE UNUSED [KEEP int K | M ]
Examples
Add a column to a table ALTER TABLE STAFF_OPTIONS ADD SO_INSURANCE_PROVIDER Varchar2(35); Add a default value to a column ALTER TABLE STAFF_OPTIONS MODIFY SO_INSURANCE_PROVIDER Varchar2(35) DEFAULT 'ABC Ins'; Add two columns to a table and remove a constraint ALTER TABLE STAFF_OPTIONS ADD (SO_STAFF_ID INT, SO_PENSION_ID INT) STORAGE INITIAL 10 K NEXT 10 K MAXEXTENTS 121 PCTINCREASE 0 FREELISTS 2 DROP CONSTRAINT cons_SO;
"You're either part of the solution or part of the problem" ~ Eldridge Cleaver
Related Oracle Commands:
ANALYZE TABLE COMPUTE STATISTICS
ALTER INDEX
ALTER VIEW
COMMENT - Add a comment to a table or a column.
RENAME
DBMS_REDEFINITION
Related Views:
DBA_ALL_TABLES ALL_ALL_TABLES USER_ALL_TABLES DBA_TABLES ALL_TABLES USER_TABLES TAB DBA_TAB_COLUMNS ALL_TAB_COLUMNS USER_TAB_COLUMNS DBA_TAB_PARTITIONS ALL_TAB_PARTITIONS USER_TAB_PARTITIONS DBA_PART_TABLES ALL_PART_TABLES USER_PART_TABLES