I mean finding redundant/inefficient indexes with a bit of thinking about logical structures. No need to look into AWR. Something like this <http://pastebin.com/KBbDwGK8> as a starting point. On Wed, Mar 18, 2015 at 3:23 PM, Petr Novak <Petr.Novak@xxxxxxxxxxxx> wrote: > Hallo Timur, > > > > for given index I usually list from shared pool all statements/plans > which use the index, their benchmarks ( CPU/IO , number of executions). > > Then I check how effective are the execution plans, what are the access > and filter predicates. > > That is the main source , but in the same way I look in AWR which > statements/plans used the index in the past and what were the benchmarks. > > > > > Best Regards, > Petr > > > > ------------------------------ > *Von:* Timur Akhmadeev [timur.akhmadeev@xxxxxxxxx] > *Gesendet:* Mittwoch, 18. März 2015 12:16 > *An:* Petr Novak > *Cc:* jonathan@xxxxxxxxxxxxxxxxxx; oracle-l@xxxxxxxxxxxxx > *Betreff:* Re: Reduce latch row cache objects with event 10089 > > > On Wed, Mar 18, 2015 at 9:08 AM, Petr Novak <Petr.Novak@xxxxxxxxxxxx> > wrote: > >> I check continually index usage in shared pool and AWR, there are only >> 1-2 index candidates for elimination. > > > Do not need to look into AWR for that. Start with listing indexes & > indexed columns instead, just looking at what is indexed + at > avg_data_blocks_per_key. Very often people introduce redundant & > unnecessary/inefficient indexes which could be logically eliminated. > > -- > Regards > Timur Akhmadeev > -- Regards Timur Akhmadeev