Re: Table index mismatch trace file

From: Stefan Knecht <knecht.stefan_at_gmail.com>
Date: Wed, 30 Jan 2008 15:08:56 +0100
Message-ID: <486b2b610801300608u4f2dcea2xfe92bf1a42d4c543@mail.gmail.com>


You can use the following in sql*plus to get to the object in question:

SET ECHO ON UNDEF rdba

SELECT dbms_utility.data_block_address_file(

         to_number(trim(leading '0' from replace('&&rdba','0x','')),'XXXXXXXX')

       ) AS rfile#,
       dbms_utility.data_block_address_block(
         to_number(trim(leading '0' from
replace('&&rdba','0x','')),'XXXXXXXX')
       ) AS block#

FROM dual;

and then use the resulting file number and block number in dba_extents to find the index.

Stefan

On Jan 30, 2008 1:35 PM, Peter Hitchman <pjhoraclel_at_gmail.com> wrote:

> Hi,
> I have a table/index mismatch, the trace file from the validate command
> shows me this:
>
> Table/Index row count mismatch
> table 20580403 : index 20685743, 105297
> Index root = dba: 0x3400fa02
>
> The first line on information does appear to be the row counts from the
> table and an offending index.
> Is there a way to use this to find out what the problem index is from the
> "Index root" bit?
>
> Thanks
>
> Pete
>

-- 
=========================

Stefan P Knecht
Senior Consultant
Infrastructure Managed Services

Trivadis AG
Europa-Strasse 5
CH-8152 Glattbrugg

Phone +41-44-808 70 20
Fax +41-808 70 12
Mobile +41-79-571 36 27
stefan.knecht_at_trivadis.com
http://www.trivadis.com

OCP 9i/10g SCSA SCNA
=========================

--
http://www.freelists.org/webpage/oracle-l
Received on Wed Jan 30 2008 - 08:08:56 CST

Original text of this message