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: Identifying the content of a corrupted block in system tablespace

Re: Identifying the content of a corrupted block in system tablespace

From: Jeremiah Wilton <jeremiah_at_ora-600.net>
Date: Thu, 6 Jan 2005 19:53:07 -0800 (PST)
Message-ID: <Pine.LNX.4.60.0501061939210.2796@cpq7598>


On Thu, 6 Jan 2005, Vlado Barun wrote:

> I have a corrupted block in the system tablespace.
> I used the standard query to identify the object that the block but it
> failed:

A couple things off the top of my head:

There is probably more than one row in the corrupted block, since most blocks have a few rows and OBJ$ is not that wide.

The SYS.I_OBJ2 index has object names in it. It is possible that you could compose a select statement that would read only from the index without accessing the table. You could exclude all rows that don't appear in valid blocks in OBJ$. You would be left with the columns in SYS.I_OBJ2 that are in the corrupted block of OBJ$. You might have to fiddle with the query to get the optimizer to do exactly what you want.

You could also dump the contents of the corrupted block and see if you could make heads or tails of it. Unfortunately unless you're very good at data storage internals you can't be sure if you are looking at deleted or pre-updated data, but OBJ$ doesn't get that much of that in most systems.

So don't head up any rivers in Georgia backcountry yet. There may be hope. Let me know if you can't figure out how to do any of this.

--
Jeremiah Wilton
ORA-600 Consulting
Emergencies - Seminars - Hiring
http://www.ora-600.net
--
http://www.freelists.org/webpage/oracle-l
Received on Thu Jan 06 2005 - 21:57:24 CST

Original text of this message

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