Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Corruption in SYSTEM Tablespace

RE: Corruption in SYSTEM Tablespace

From: Jeremiah Wilton <>
Date: Mon, 29 Oct 2001 10:10:14 -0800
Message-ID: <>

On Mon, 29 Oct 2001, Gogala, Mladen wrote:

> Restore the last hot backup and do the database recovery.

Well that seems a little extreme.

Why not find out which objects contain corruptions first, and if the corrupted areas actually contain data? Why go through a restore/recover without having all the information?

Use dba_extents to find out which objects the corrupted blocks belong to. If they are indexes, just rebuild them! If they are heap-organized segments (tables/clusters), then find out if there are actually rows in the affected area, by selecting a range of rowids using dbms_rowid.

Only if you find that the corruptions have damaged actual data do you have to recover. Even in that case, as long as you are using archivelog mode, you can resotre and recover just the datafile(s) containing the corruptions, and perform complete recovery of that file(s) with the database in mount mode.

Finally, make sure you find out how the corruption happened. The O/S shouldn't just corrupt your database. The SAs should identify the root cause and rectify it.

Jeremiah Wilton

> > -----Original Message-----
> > From: Rajesh Dayal []
> >
> > Fortunately this is there only in my TEST database. But I am
> > wondering, how to resolve if this happens in Production Database.
> > I can't export Full database with zero errors. Although I can
> > export most of the schemas individually. Dbverify shows some 3 blocks
> > to be corrupted, that's too only in SYSTEM TS.
> > Any ideas would be appreciated.
-- Please see the official ORACLE-L FAQ: -- Author: Jeremiah Wilton INET: Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: (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 Mon Oct 29 2001 - 12:10:14 CST

Original text of this message