• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 328
  • Last Modified:

find out index the table is using

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
marrowyung
Asked:
marrowyung
  • 7
  • 3
  • 2
  • +2
1 Solution
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
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
 
MikeOM_DBACommented:
You need to set monitoring:
ALTER INDEX {index name}  MONITORING USAGE;

Open in new window

And then query v$object_usage
:p
0
 
marrowyungAuthor Commented:
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
Transaction-level recovery for Oracle database

Veeam Explore for Oracle delivers low RTOs and RPOs with agentless transaction log backup and transaction-level recovery of Oracle databases. You can restore the database to a precise point in time, even to a specific transaction.

 
MikeOM_DBACommented:
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
 
Geert GruwezOracle dbaCommented:
be careful with dropping indexes like that
certain queries are only used in year-end calculations
0
 
marrowyungAuthor Commented:
"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
 
MikeOM_DBACommented:
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
 
marrowyungAuthor Commented:
" 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
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
>so if I drop that the year-end calculation will be very slow  ?
exactly.
0
 
marrowyungAuthor Commented:
but just only at that time, I can say server is busying! ahaha
0
 
marrowyungAuthor Commented:
ok, I may re active it if I need
0
 
marrowyungAuthor Commented:
ok,yeah, might come back and re active it if I need.
0
 
marrowyungAuthor Commented:
one thing, how can I find out the pass question, it seems the old EE  is better on this!
0
 
Steve WalesSenior Database AdministratorCommented:
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

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 7
  • 3
  • 2
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now