For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!
I try different version with jre, without jre, still same issue. Compatibility mode do not help as well, any help?
Last one: sqldeveloper-4.1.5.21.78
if disable and continue:
Disable and continue - will silently crash in few moments...
Please ask your questions in the most appropriate forum.
Your question above has very little to do with Oracle Object features and technology - and is a question about the database (general use). In which case you should ask the question in
SivaprasadS wrote: Environment: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production Question: 1. How to find when the given index is last used? 2. How to find if the given index is useful to keep it or not ? or find the useless indexes. Scenario: The are indexes with name startining with ‘IDX$$_ ‘ are exists on our production database. Usually, when we use the recommendations of DBMS_AUTO_SQLTUNE, by running a SQL tuning task and the recommendation may have been to implement an index , at which time Oracle may have used this prefix and created an index name with 'IDX$$_' We would like to know if these indexes are really needed or it can be dropped. Sivaprasad.S
SivaprasadS wrote:
Environment:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
Question:
1. How to find when the given index is last used?
2. How to find if the given index is useful to keep it or not ? or find the useless indexes.
Scenario:
The are indexes with name startining with ‘IDX$$_ ‘ are exists on our production database.
Usually, when we use the recommendations of DBMS_AUTO_SQLTUNE, by running a SQL tuning task and the recommendation may have been to implement an index , at which time Oracle may have used this prefix and created an index name with 'IDX$$_'
We would like to know if these indexes are really needed or it can be dropped.
Sivaprasad.S
Altering Indexes
Cheers,
The main approach is to turn on monitoring for that index, however you can also query the saved plans.
If you have the appropriate pack licensed, you can query dba_hist_sql_plan where object_name=<index_name>. This will show any plans that have used that index.
Another thing to keep in mind, if the indexes are large in size you can make them invisible. In case they are needed,you can alter them as visible rather than rebuilding.
Paul
Maybe it's time to change name from Objects to (eg) Object-relational features.
Best regards
Before concluding indexes are 'not used' you should also determine if they support any foreign-key, primary-key or unique constraints.
If they are unique indexes then presumably there is a business rule (a unique constraint) that they enforce. Dropping such indexes would introduce a functional change.
Indexes that correspond to foreign-key constraints may be more subtle. If Oracle is using them to valdiate foreign-key constraints (such as verifying that a row in a parent table has no related rows in a child table), this usage is not reflected in the plans. If you drop such an index, the enforcement would still occur but it may take much longer and introduce additional locking.
A couple of other things to keep in mind:
Just because an index hasn't been used recently doesn't mean it isn't important. One obvious consequence is an index used by a period-end batch, it's no fun to have people tapping their feet and watching over your shoulder at 7:30PM December 31st... there's nothing wrong with invisibility or creating such an index when needed, you just need to know ahead of time.
The simple existence of an index may influence optimizer decisions, affecting performance.
There are some interesting blogs and books about these topics, I'd say look at index used Richard Footes Oracle Blog
and Indexing | Oracle Scratchpad to start.