Over the weekend, we had some issues with one of our boxes which caused Oracle to die. After restarting the instance, I logged in and did:
SQL> select count(rowid) from reporter_status;
Error at line 1:
ORA-08103: object no longer exists
SQL> desc reporter_status;
Name Null? Type
so it sees the table when I desc it but it says it no longer exists. After a little more looking, did:
SQL> Select file_name from dba_data_files;
It returned all the system, temp, etc., however my reporter tablespace (where the bulk of my data is), it only returned 6 datafiles, where there are 12. I looked at the OS, there were there. I dumped the control files to trace and indeed, the control files had no ideas that my data files existed.
I made the changes and rebuilt my control files. If I issue:
SVRMGRL> recover datafile '/data/ora3/blah...blah/reporte06.dbf';
SVRMGRL> alter datafile '/data/ora3/blah...blah/reporter06.dbf' online;
so then I select the file_name's out of dba_data_files, and still no go. It's like Oracle knows about my datafiles now, but has no clue that they belong to my reporter tablespace. Has anybody every seen this?
I get about 150,000 to 200,000 new rows a day. I run Oracle 8.1.7 on Solaris 2.6.