ALTER INDEX
Function
ALTER INDEX modifies the definition of an existing index.
It has the following forms:
- IF EXISTS - Sends a notice instead of an error if the specified index does not exist. 
- RENAME TO - Changes only the name of the index. The stored data is not affected. 
- SET TABLESPACE - This option changes the index tablespace to the specified tablespace and moves index-related data files to the new tablespace. 
- SET ( { STORAGE_PARAMETER = value } [, …] ) - Changes one or more index-method-specific storage parameters of an index. Note that the index content will not be modified immediately by this statement. You may need to use REINDEX to recreate the index based on different parameters to achieve the expected effect. 
- RESET ( { storage_parameter } [, …] ) - Resets one or more index-method-specific storage parameters of an index to the default value. Similar to the SET statement, REINDEX may be used to completely update the index. 
- [ MODIFY PARTITION index_partition_name ] UNUSABLE - Sets the indexes on a table or index partition to be unavailable. 
- REBUILD [ PARTITION index_partition_name ] - Rebuilds indexes on a table or an index partition. 
- RENAME PARTITION - Renames an index partition. 
- MOVE PARTITION - Modifies the tablespace to which an index partition belongs. 
Precautions
The owner of an index, a user who has the INDEX permission on the table where the index resides, or a user granted the ALTER ANY INDEX permission can run this command. By default, a system administrator has this permission.
Syntax
- Rename a table index. - ALTER INDEX [ IF EXISTS ] index_name RENAME TO new_name;
- Change the tablespace to which a table index belongs. - ALTER INDEX [ IF EXISTS ] index_name SET TABLESPACE tablespace_name;
- Modify the storage parameter of a table index. - ALTER INDEX [ IF EXISTS ] index_name SET ( {storage_parameter = value} [, ... ] );
- Reset the storage parameter of a table index. - ALTER INDEX [ IF EXISTS ] index_name RESET ( storage_parameter [, ... ] ) ;
- Set a table index or an index partition to be unavailable. - ALTER INDEX [ IF EXISTS ] index_name [ MODIFY PARTITION index_partition_name ] UNUSABLE; NOTE:
The syntax cannot be used for column-store tables. NOTE:
The syntax cannot be used for column-store tables.
- Rebuild a table index or index partition. - ALTER INDEX index_name REBUILD [ PARTITION index_partition_name ];
- Rename an index partition. - ALTER INDEX [ IF EXISTS ] index_name RENAME PARTITION index_partition_name TO new_index_partition_name;
- Modify the tablespace to which an index partition belongs. - ALTER INDEX [ IF EXISTS ] index_name MOVE PARTITION index_partition_name TABLESPACE new_tablespace;
Parameter Description
- index_name - Specifies the index name to be modified. 
- new_name - Specifies the new name of the index. - Value range: a string. It must comply with the naming convention rule. 
- tablespace_name - Specifies the tablespace name. - Value range: an existing tablespace name 
- storage_parameter - Specifies the name of an index-method-specific parameter. 
- value - Specifies the new value for an index-method-specific storage parameter. This might be a number or a word depending on the parameter. 
- new_index_partition_name - Specifies the new name of the index partition. 
- index_partition_name - Specifies the name of an index partition. 
- new_tablespace - Specifies a new tablespace. 
Examples
See Examples in CREATE INDEX.
Helpful Links
CREATE INDEX, DROP INDEX, and REINDEX