数据库drop tablespace XXX,同时rm删除文件,最后导致dba_data_files查看数据文件是offline,但是文件状态是可用。
以上报错日志,10号文件导致内部服务器错误。
select file#,relfile#,inc,status$,blocks,ts#,crscnwrp,crscnbas from file$ where file#=10;
select ts#,name,online$ from ts$ where ts#=10;
update file$ set relfile#=null,inc=0,status$=1 ,ts#=null where file#=10;
update ts$ set online$=3 where ts#=10;
通过命令把10号文件状态改为不可用、关联表空间号改为空,同时10号表空间改为不可用。
开启数据库后还是同样问题,重建控制文件
alter database backup controlfile to trace as '/home/oracle/crontol_trace.trc';
提取控制文件,在trc文件最后开始检查,样例:
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "VIDS" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 1600
MAXINSTANCES 8
MAXLOGHISTORY 10368
LOGFILE
GROUP 1 '/u02/oradata/vids/redo1_1.log' SIZE 500M,
GROUP 2 '/u02/oradata/vids/redo2_1.log' SIZE 500M,
GROUP 3 '/u02/oradata/vids/redo3_1.log' SIZE 500M,
GROUP 5 (
'/u02/oradata/vids/redo05_1.log',
'/u02/oradata/vids/redo05_2.log'
) SIZE 200M,
GROUP 6 (
'/u02/oradata/vids/redo06_1.log',
'/u02/oradata/vids/redo06_2.log'
) SIZE 200M,
GROUP 7 (
'/u02/oradata/vids/redo07_1.log',
'/u02/oradata/vids/redo07_2.log'
) SIZE 500M
以上是参考盖国强遭遇ORA-00600 25015 错误修复方法。
最后一步重建控制文件没有实际验证过,希望后人回复是否可行。