测试服务器上出现这个错误信息。
这个错误是发生在表空间OFFLINE的时候:
2012-01-07 00:42:13.026000 +08:00
create tablespace test datafile size 10m
2012-01-07 00:42:15.619000 +08:00
Completed: create tablespace test datafile size 10m
2012-01-07 00:46:25.448000 +08:00
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_smon_13951.trc:
ORA-01116: error in opening database file 5
ORA-01110: data file 5:
'/u01/app/oracle/oradata/ORCL/datafile/o1_mf_test_7jg93510_.dbf'
ORA-27041: unable to open file
Solaris-AMD64 Error: 2: No such file or directory
Additional information: 3
Checker run found 1 new persistent data failures
2012-01-07 00:46:26.593000 +08:00
Starting background process SMCO
SMCO started with pid=22, OS id=14017
2012-01-07 00:50:24.669000 +08:00
alter database datafile 5 offline
ORA-1145 signalled during: alter database datafile 5 offline...
2012-01-07 00:50:36.918000 +08:00
alter tablespace test offline
Read of datafile
'/u01/app/oracle/oradata/ORCL/datafile/o1_mf_test_7jg93510_.dbf' (fno 5) header
failed with ORA-01208
Rereading datafile 5 header failed with ORA-01208
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_13965.trc
(incident=3337):
ORA-00600: internal error code, arguments: [krhpfh_03-1208], [fno =], [5],
[fecpc =], [4], [fhcpc =], [3], [], [], [], [], []
ORA-01110: data file 5:
'/u01/app/oracle/oradata/ORCL/datafile/o1_mf_test_7jg93510_.dbf'
ORA-01122: database file 5 failed verification check
ORA-01110: data file 5:
'/u01/app/oracle/oradata/ORCL/datafile/o1_mf_test_7jg93510_.dbf'
ORA-01208: data file is an old version - not accessing current version
Incident details in:
/u01/app/oracle/diag/rdbms/orcl/orcl/incident/incdir_3337/orcl_ora_13965_i3337.trc
2012-01-07 00:50:38.613000 +08:00
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Dumping diagnostic data in directory=[cdmp_20120107005038], requested by
(instance=1, sid=13965), summary=[incident=3337].
ORA-600 signalled during: alter tablespace test offline...
这个错误产生的原因是文件头被损坏,其中krhpfh_03-1208错误信息中包含了两部分信息,前一部分krhpfh_03是ORA-600错误的错误号,而后面的1208是导致这个ORA-600错误的错误号,也就是ORA-01208: data file is an old version - not accessing current version。导致这个ORA-600出现的其他常见错误还包括ORA-01202: wrong incarnation of this file - wrong creation time;ORA-01204: file number is string rather than string - wrong file ;ORA-01206: file is not part of this database - wrong database id ;ORA-01209: data file is from before the last RESETLOGS以及ORA-01210: data file header is media corrupt等等。
总的来说就是Oracle发现数据文件的头与控制文件中的不符所致。一般而言,不是由于磁盘损坏了头块,就是由于误操作所致。
当前这个ORA-1208错误比较特别,是BBED修改数据文件的文件头所致,解决方案除了常规的恢复之外,就只有通过BBED修改文件头这个方法了。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4227/viewspace-717681/ ,如需转载,请注明出处,否则将追究法律责任。