ORA-01502 Oracle Index in Unusable State
When trying to perform query on Oracle tables with select SQL statement, Oracle returns the following error:
ORA-01502: index ’string.string’ or partition of such index is in unusable state
The error indicates an attempt has been made to access an index or index partition that has been marked unusable by a direct load or by a DDL operation.
The problem usually happens when using the Direct Path for the SQL*Loader, Direct Load or DDL operations. This requires enough temporary space to build all indexes of the table. If there is no enough space in TEMP tablespace, all rows will still be loaded and imported, but the indices are left with STATUS = ‘INVALID’.
Invalid indexes can be checked with a SELECT * from USER_INDEXES WHERE STATUS = ‘INVALID’; SQL statement.
Solution to this error is simple. You can:
- Drop the specified index and/or recreate the index
- Rebuild the specified index
- Rebuild the unusable index partition
Generally, the following SQL manipulation language will be able to rebuild the unusable index:
ALTER INDEX index_name REBUILD
Related Articles
- Oracle ORA-14074 Create or Add New Partition Fails Error
- Create, Add or Split Oracle Database Partition Fails with ORA-14080 Error
- How to Escape Characters in Oracle PL/SQL Queries
- ORA-02449 Oracle Drop Table Error
- Check Oracle Version
- ORA-00942 Table or View Does Not Exist Oracle Error
- Oracle Database Import Error 3113/3114
- Oracle PL/SQL ORA-00947 Not Enough Values Error
- Oracle JDeveloper Reviews
- Manual and Clean Uninstall Oracle for Windows










































April 16th, 2009 03:14
Your first statement needs to check for ‘UNUSABLE’ and not ‘INVALID’ in USER_INDEXES.
January 31st, 2009 04:24
I think Oracle is having only index status as Usable/Unusabe.
“Skip Unusable index” will allow the all the DML(Inclusing Select) operations on the table.
Thanks & Regards,
Deepak
August 21st, 2008 14:49
thanks… the alter table fix worked
February 6th, 2008 06:31
[...] ORA-01502 Oracle Index in Unusable State [...]
March 6th, 2007 16:51
At least in oracle10 the status could also be ‘UNUSABLE’
September 19th, 2006 22:28
What about with Oracle 9i option SKIP UNUSABLE INDEXES? Pls Explain.