Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: Identifying the content of a corrupted block in system tablespace
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-lReceived on Thu Jan 06 2005 - 21:57:24 CST
![]() |
![]() |