There are few reasons that make your indexes become unusable
1. the unusable command statement - ALTER INDEX idx UNUSABLE;
2. direct path writes to the index's table - such as using sqlldr utility using direct=y flag
In this case you can create multiple PK values and until you will clear the duplication the PK will be in unusable state.
* using /+ APPEND +/ hint behaves differently from sqlldr.
Although it's direct path as well Oracle will give unique constraints errors.
3. reorganizing table extents by using move command - ALTER TABLE tbl MOVE;
take these operations in your consideration when developing your application since you will need to spend some time and resources in order to fix the indexes (rebuild for example) during your process.
I'm not saying direct path is bad, just be aware of the consequences. :-)
Good Luck,
1. the unusable command statement - ALTER INDEX idx UNUSABLE;
2. direct path writes to the index's table - such as using sqlldr utility using direct=y flag
In this case you can create multiple PK values and until you will clear the duplication the PK will be in unusable state.
* using /+ APPEND +/ hint behaves differently from sqlldr.
Although it's direct path as well Oracle will give unique constraints errors.
3. reorganizing table extents by using move command - ALTER TABLE tbl MOVE;
take these operations in your consideration when developing your application since you will need to spend some time and resources in order to fix the indexes (rebuild for example) during your process.
I'm not saying direct path is bad, just be aware of the consequences. :-)
Good Luck,
Comments
Post a Comment