I recently had an 800GB Seagate FreeAgent drive crash on me using CentOS 4.0 and Oracle 10g. Until I saw this post I thought the problem was the NTFS-3G driver CentOS uses. I was unable to mount and format the drive under Linux so I had to plug it into a Windows XP box and then have Linux talk NTFS to the device. The tablespace files were on the drive when it crashed. I had a problem starting Oracle after that, it kept complaining about the corrupt *.dbf files. Here are the steps I took to correct this:
- Start sqlplus:
$>sqlplus username/password - Start sql server:
$>startup nomount - Issue the following for each corrupt or missing *.dbf file:
$>ALTER DATABASE DATAFILE datafile_name_and_path OFFLINE DROP - Shutdown the database server:
$>shutdown - Start the database server:
$>startup - drop the tablespaces whose datafiles are corrupt/missing:
$>DROP TABLESPACE tablespace_name INCLUDING CONTENTS
I would not attempt this if you want to recover the data from the files. In that case your best bet is to restore the database from a backup.