Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Datafile header surgery

RE: Datafile header surgery

From: Bobak, Mark <>
Date: Wed, 10 Jan 2007 14:22:24 -0500
Message-ID: <>


Oracle does not document the datafile header format. There are probably a few various papers floating around that document some of the info to some degree, but it's mostly just guess work that people have been able to work out. Also, the bbed tool, which I'm not going to get into great detail on, can also provide some insight into block and header formats.

"The database is in development and therefore isn't backed up..." Hmm...interesting strategy, can't say that I agree, though....

Since you have nothing to lose, first, make a copy of the corrupted datafile, then have at it. Look at non-corrupted data files, maybe you'll be able to fix the problem....?

If you are successful, let us all know about it!



Mark J. Bobak
Senior Oracle Architect
ProQuest Information & Learning

There is nothing so useless as doing efficiently that which shouldn't be done at all. -Peter F. Drucker, 1909-2005

-----Original Message-----

[] On Behalf Of Donahue, Adam Sent: Wednesday, January 10, 2007 1:08 PM To:
Subject: Datafile header surgery

Has Oracle (or anyone else) published the header format for database datafiles?

I ask because one of our datafiles was corrupted due to an nStor outage yesterday, and thus is triggered an ORA-01251 when one attempts to recover it:

01251, 00000, "Unknown File Header Version read for file number %s" // *Cause: Read of the file header returned a record but its version cannot
// be identified. Either the header has been corrupted, or the file

//         is not a valid database file.
// *Action: Have the operating system make the correct file available to
//         the database, or recover the file.

The database is in development and therefore isn't backed up, but before rebuilding I thought it might be interesting to attempt a manual hack to the header to get the database to load so that data could be extracted. Any other potential workarounds here?



This message may contain confidential, proprietary, or legally privileged information. No confidentiality or privilege is waived by any transmission to an unintended recipient. If you are not an intended recipient, please notify the sender and delete this message immediately. Any views expressed in this message are those of the sender, not those of any entity within the KBC Financial Products group of companies (together referred to as "KBC FP").

This message does not create any obligation, contractual or otherwise, on the part of KBC FP. It is not an offer (or solicitation of an offer) of, or a recommendation to buy or sell, any financial product. Any prices or other values included in this message are indicative only, and do not necessarily represent current market prices, prices at which KBC FP would enter into a transaction, or prices at which similar transactions may be carried on KBC FP's own books. The information contained in this message is provided "as is", without representations or warranties, express or implied, of any kind. Past performance is not indicative of future returns.


-- Received on Wed Jan 10 2007 - 13:22:24 CST

Original text of this message