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

Home -> Community -> Usenet -> c.d.o.server -> Re: Help! Corrupt data file

Re: Help! Corrupt data file

From: <ajitsingh_at_hotmail.com>
Date: 1998/01/23
Message-ID: <885540945.1150222344@dejanews.com>#1/1

In article <34c7ec3d.3698138_at_news.netrax.net>,   gchance_at_sun-link.com wrote:

>

> I had oracle down while doing a full backup on my sun box.
> One of the EMC disk drives failed during the backup .
> The EMC SE was able to save all the data but 2 tracks.
> I identified the data files that had the bad data. These
> were in tablespaces that only have indexes. Oracle came
> up OK. I ran analyse index compute statistics and validate
> structure against all the indexes. Everything came back clean.
> I assume the 2 tracks of low values are in an area of the data
> file that has not been used.
> What will happen when the table extends into that area?
> Oracle support was no help.
> I can not easily drop and create these indexes since they
> are primary keys and I would have to drop all the RI.
> I've been running like this for 5 days with no problem
> Shoul I just wait and see?

Hi,

Although I do not have a complete solution to your problem, yet I am putting some ideas which ocurred to me and may be useful to you.

  1. Do a full database export to determine if any of the database objects have been corrupted. If there is any corruption in any object it will appear in the export log file. 2. If you are able to identify the datafile which has been corrupted and your database is in ARCHIVELOG mode, and you have a good hot/cold backup & archive logs, you can rename the datafile (in db) and move the existing file to a new location; copy the file from an old backup and then carry out recovery for the datafile.
  2. To recreate indexes, you need not drop all the RI. You can write an SQL script to spool the commands for disabling and later enabling the constraints (use dba_constraints). 4. You can dba_free_space (ordered by file_id,block_id) to identify free areas in the datafile. And if the datafile does not have a very large free space, create temporary tables of exactly the size of the free areas. Doing this U will know whether the area of the file is bad. But this exercise can be very time consuming esp. if the datafile is large and has a large no. of free areas.

I hope this helps.

Regards
Ajit Singh
Sr. System & DBA

-------------------==== Posted via Deja News ====-----------------------
      http://www.dejanews.com/     Search, Read, Post to Usenet
Received on Fri Jan 23 1998 - 00:00:00 CST

Original text of this message

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