SQL Error: ORA-30556: either functional or bitmap join index is defined on the column to be modified

Viewed 14939

When m trying to alter a column length of my table, then I get the following Oracle error:

 SQL Error: ORA-30556: either functional or bitmap join index is defined on the column to be modified
 30556. 00000 -  "either functional or bitmap join index is defined on the column to be modified"
 *Cause:    An ALTER TABLE MODIFY COLUMN was issued on a column on which
            either a functional index or bitmap join index exists.
 *Action:   Drop the functional or bitmap join index before attempting to modify the column.

How we can alter our column size?

1 Answers

There is no need to drop the index and alter the column size and then again create the index.

We have an alternate way in Oracle and that's the following:

  1. First Disable the index. (ex: ALTER INDEX index_cust ON CUSTOMER DISABLE)

  2. Then alter the column size of Customer table

  3. Then Enable the index. (ex: ALTER INDEX index_cust ON CUSTOMER REBUILD)

Note : And this is valid only for functional indexes

Related