ORA-600(krhpfh_03)错误

测试服务器上出现这个错误信息。
这个错误是发生在表空间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, osid=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修改文件头这个方法了。

This entry was posted in ORACLE and tagged , , , , , , , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *