问题描述
测试服务器上出现这个错误信息。
这个错误是发生在表空间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修改文件头这个方法了。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。