RE: corrupt datafile

  • From: "Mark W. Farnham" <mwf@xxxxxxxx>
  • To: <oracle-l@xxxxxxxxxxxxx>
  • Date: Mon, 14 Jun 2004 18:56:28 -0400

if that outdated file is really all you've got, then you *might* be able to:

1) cycle off your current undo and make a new one. (Unless you want it to
try to roll back incomplete transactions. I'm not sure whether the _corrupt
undo and rollback inits are still operative.)
2) use od or that cool block dumper Steve Adams uses in his classes to look
at the headers
3) use bp to patch the headers to make the file look current (dump the
headers of a few current "good" tablespaces to give you a clue, and/or plead
for mercy from someone who knows the block header details intimately ($$$$$
usually can provide mercy).
4) turn on the event that keeps scanning after hitting corrupt blocks, and
turn off block checking
5) give it a whirl and unload or export a table at a time.

Of course your data will be stale and relational integrity will likely be
screwed up unless there really was no action on the tablespace.

So understand that unless that tablespace actually was cold and you get no
block errors logged, then your data will not be perfect. Depending on
whether you have parallel logical logs (non-Oracle application logs or
something like that) from which you can replay the subsequent transactions,
you may be able to get most or all of what you need.

Also -- the idea below sounds plausible.

Good luck.

mwf

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx]On Behalf Of Shawn Ferris
Sent: Monday, June 14, 2004 6:50 PM
To: oracle-l@xxxxxxxxxxxxx
Subject: Re: corrupt datafile


Hey Terry.. RUN!! ;D -- JK

Is there a chance the datafile was compressed externally with compress or
gzip? Maybe decompressing it is all that would be required. I know that
I've mistakenly tried recovering a database and missed decompressing a
datafile only to have dbv say that the entire file is corrupt.

It's been mentioned that maybe the header is corrupt and maybe that is
really the case.. however, I find it hard to believe that an entire file
is corrupt.

Just a suggestion,

Shawn
Sr. Oracle DBA
----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------


----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------

Other related posts: