I work on Visual FoxPro 9 database. Almost every day I add new data in it. This day has become an exception, when opening .dbf, I saw: "Main.dbf is not a table". To repair dbf file I tried to use some solutions from Google, one of colleagues advised a guide, but none of it didn't aid me.
I assume you have no backup and you are running in NOARCHIVELOG mode, otherwise you wouldn't be asking this question.
Assuming that your db file is really corrupted, then you can startup the database without this file:
https://www.codeproject.com/Articles/20116/Repair-DBF-File-corrupted-by-power-failer
https://download.cnet.com/Recuva/3000-2242_4-10753287.html
https://dbf.recoverytoolbox.com/
1. Take a full backup of all your current db files, control files, redo log files.
2. Startup mount the instance
3. ALTER DATABASE DATAFILE 'fullpath/filename' OFFLINE DROP;
4. ALTER DATABASE OPEN;
This will drop the file from your db, so all data in it will be lost, but the data in other tablespaces will be accessible.
If this doesn't work, restore to its original state using the backup taken in step 1.
However, before concluding that your file is corrupt, try to see what happened to it.
Post the following info:
Your archivelog/noarchivelog mode.
Tablespace to which this file belongs.
Oracle error when starting up the database.
Also, startup mount your db and :
SELECT * FROM V$DATABASE;
SELECT * FROM V$DBFILE;
SELECT * FROM V$RECOVER_FILE;