Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Analyzing indexes

Re: Analyzing indexes

From: Jonathan Lewis <jonathan_at_jlcomp.demon.co.uk>
Date: Tue, 11 Mar 2003 14:54:30 -0800
Message-ID: <F001.00567030.20030311145430@fatcity.com>

If you want the index height (or blevel + 1), then you could dump the index root block

alter system dump datafile N block MM

Check dba_segments for the address of the segment header block, unless you have
multiple freelist groups, the index root block will be the one after the segment header.

You will find the blevel of the root block in the symbolic dump in the line labelled

    kdxcolev.

For the 'right size' - I tend to work out roughly how large a typical index entry ought to be, multiple by the number of rows I expect to have non-null entries - add a bit (for rowids) and multiple by 4/3 (to allow for typical wastage). If the result is about right, I stop worrying.

(NB There may be special case indexes where you have a finer knowledge of the application and therefore use a value other than 4/3).

Regards

Jonathan Lewis
http://www.jlcomp.demon.co.uk

Now available One-day tutorials:
  Cost Based Optimisation
  Trouble-shooting and Tuning
  Indexing Strategies

(see http://www.jlcomp.demon.co.uk/tutorial.html )

____UK_______March 19th
____UK_______April 8th
____UK_______April 22nd

____USA_(FL)_May 2nd

Next dates for the 3-day seminar:
(see http://www.jlcomp.demon.co.uk/seminar.html )

____UK_(Manchester)_May
____USA_(CA, TX)_August

The Co-operative Oracle Users' FAQ
http://www.jlcomp.demon.co.uk/faq/ind_faq.html

> I need to determine whether or not a couple of indexes need to be
rebuilt.
> The problem is the indexes are quite large and on a 24x7 high volume
> database. If I try to run an "analyze validate structure" to gather
the data
> I need to make that decision, it sets a lock on the table for about
an hour
> which I can't afford to do. There is no slow time when I can do this
and
> management has said before they're not going to spring for the
partitioning
> option to break the indexes up into managable pieces. Is there some
other
> way I can get the information needed to determine if an index needs
to be
> rebuilt or not without setting a lock on the table? We are on Oracle
8.1.7.
>

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Jonathan Lewis
  INET: jonathan_at_jlcomp.demon.co.uk

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Received on Tue Mar 11 2003 - 16:54:30 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US