Home » SQL & PL/SQL » SQL & PL/SQL » ORA-30556: functional index is defined on the column to be modified
ORA-30556: functional index is defined on the column to be modified [message #541859] Thu, 02 February 2012 15:25 Go to next message
anonymous2009
Messages: 23
Registered: June 2009
Junior Member
Hello,
I'm altering a column length to increase the size and getting "ORA-30556: functional index is defined on the column to be modified".

On searching more about this error, it seems like the function index must be dropped before altering the column.
The table I'm dealing with is huge.

Question 1:
In case of dropping and recreating the index, should the following steps be done:

- Drop Index
- Alter the column to increase the size
- Recreate the index with NOLOGGING and NOPARALLEL clause
- ALTER INDEX to turn on LOGGING
- Gather Statistics on that index


Question 2:
Is there anything else that should be done when the index is dropped and re-created?

Question 3:
What are the side-effects of carrying out the above steps in a huge table with around 15 million rows?

Question 4:
Would it work if I disable the index, alter the column and reenable the index?
Do I have to rebuild the index and gather Stats upon reenabling it?


Thanks!

[Updated on: Thu, 02 February 2012 16:38]

Report message to a moderator

Re: ORA-30556: functional index is defined on the column to be modified [message #541873 is a reply to message #541859] Thu, 02 February 2012 23:28 Go to previous messageGo to next message
Michel Cadot
Messages: 68767
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
1. "should" not but "may" most likkely
2. At first sight, no
3. 15 million is not huge, quite normal; you have to do it when the application is down
4. Try it...

Regards
Michel
Re: problem on foreign key constraint [message #541932 is a reply to message #541859] Fri, 03 February 2012 03:45 Go to previous message
Michel Cadot
Messages: 68767
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
You have to first disable the constraint before truncate, no matter there are rows or not.

Regards
Michel
Previous Topic: Want to avoid NVL condition suppressing index usage
Next Topic: insert HTML into a CLOB
Goto Forum:
  


Current Time: Tue Aug 26 02:32:48 CDT 2025