Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

find out index the table is using

Posted on 2014-03-03
15
Medium Priority
?
326 Views
Last Modified: 2014-06-09
Dear all,

Any way to find out all indexes of the Oracle tables so as to find out any index which is no use any more and therefore the candidates index to drop ?
0
Comment
Question by:marrowyung
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 3
  • 2
  • +2
15 Comments
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 39900698
if you drop a table, all it's related indexes will be dropped also.
apart from that, you can check the USER_INDEXES, ALL_INDEXES or DBA_INDEXES to see the indexes on which table they are.
0
 
LVL 29

Expert Comment

by:MikeOM_DBA
ID: 39900728
You need to set monitoring:
ALTER INDEX {index name}  MONITORING USAGE;

Open in new window

And then query v$object_usage
:p
0
 
LVL 1

Author Comment

by:marrowyung
ID: 39900734
you mean

ALTER INDEX {index name}  MONITORING USAGE; 

Open in new window


is to monitor if the index still using ?

"And then query v$object_usage"

select * from v$object_usage where what ?
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 29

Accepted Solution

by:
MikeOM_DBA earned 2000 total points
ID: 39900746
1) Connect as user schema owner of the index and execute the 'ALTER,,MONITORING' command.
2) And yes, monitoring on index(es) will start monitoring if index is being used.
3) To check if index has been used, select * from v$object_usage where . . . . . .
SQL> desc  v$object_usage
 Name                    Null?    Type
 ----------------------- -------- ----------------
 INDEX_NAME              NOT NULL VARCHAR2(30)
 TABLE_NAME              NOT NULL VARCHAR2(30)
 MONITORING                       VARCHAR2(3)
 USED                             VARCHAR2(3)
 START_MONITORING                 VARCHAR2(19)
 END_MONITORING                   VARCHAR2(19)

Open in new window

idx-not-used.sql
0
 
LVL 38

Expert Comment

by:Geert Gruwez
ID: 39901315
be careful with dropping indexes like that
certain queries are only used in year-end calculations
0
 
LVL 1

Author Comment

by:marrowyung
ID: 39902321
"certain queries are only used in year-end calculations "

but not the index. should be all right? or what are you concerning about ?

from your result (screenshot) what it tells ?
0
 
LVL 29

Expert Comment

by:MikeOM_DBA
ID: 39903272
What Geert means is to be careful which indexes you drop because they could be used only once a year in year-end calculations.

That is one of the reasons I include in my scripts the "age" of the index, in order to verify that "recently" created indexes are being used.

Good Luck!
0
 
LVL 1

Author Comment

by:marrowyung
ID: 39908438
" they could be used only once a year in year-end calculations."

so if I drop that the year-end calculation will be very slow  ?

I will consult the developer what it use before dropping it.
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 39908760
>so if I drop that the year-end calculation will be very slow  ?
exactly.
0
 
LVL 1

Author Comment

by:marrowyung
ID: 39909324
but just only at that time, I can say server is busying! ahaha
0
 
LVL 1

Author Comment

by:marrowyung
ID: 40116373
ok, I may re active it if I need
0
 
LVL 1

Author Comment

by:marrowyung
ID: 40116384
ok,yeah, might come back and re active it if I need.
0
 
LVL 1

Author Comment

by:marrowyung
ID: 40116393
one thing, how can I find out the pass question, it seems the old EE  is better on this!
0
 
LVL 23

Expert Comment

by:Steve Wales
ID: 40121521
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Note: this article covers simple compression. Oracle introduced in version 11g release 2 a new feature called Advanced Compression which is not covered here. General principle of Oracle compression Oracle compression is a way of reducing the d…
I remember the day when someone asked me to create a user for an application developement. The user should be able to create views and materialized views and, so, I used the following syntax: (CODE) This way, I guessed, I would ensure that use…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
This video explains what a user managed backup is and shows how to take one, providing a couple of simple example scripts.

618 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question