一个备份导致的错误。
数据库版本为10.2.0.3 RAC for HP-UX,在备份数据库的时候出现了这个ORA-600错误:
Sat Oct 29 04:39:31 2011 Errors IN file /u01/app/oracle/admin/ORCL/udump/orcl2_ora_29252.trc: ORA-00600: internal error code, arguments: [krboReadBitmap_badbitmap], [57599987], [+DATA/orcl/datafile/ts1.ora], [6], [30], [17629205], [1024], [52822033] Sat Oct 29 04:39:53 2011 Backup optimization FOR file +DATA/orcl/datafile/ts1.ora stopped due TO errors: Sat Oct 29 04:39:53 2011 Errors IN file /u01/app/oracle/admin/ORCL/udump/orcl2_ora_29252.trc: ORA-00600: internal error code, arguments: [krboReadBitmap_badbitmap], [57599987], [+DATA/orcl/datafile/ts1.ora], [6], [30], [17629205], [1024], [52822033] |
这种在RMAN备份时导致的错误还真是不多见,查询MOS发现是10.2.0.3上的bug:ORA-00600[krboReadBitmap_badbitmap] During RMAN Backup [ID 456391.1]。简单的说,导致问题的原因在于10.2.0.2之后Oracle提供了备份优化的功能,对于本地管理表空间通过BITMAP来备份已经分配的BLOCK,而不必读取所有的BLOCK,但是BITMAP信息如果存在错误,就会引发这个ORA-600错误。
解决方法除了升级到10.2.0.4以外,还可以通过在BACKUP命令中添加BLOCKS ALL关键字,来避免备份优化的使用。
此外,可以根据表空间段管理方式的不同选择DBMS_SPACE_ADMIN包的ASSM_TABLESPACE_VERIFY或TABLESPACE_VERIFY过程来检查表空间的BITMAP是否存在异常。
Pingback: ORA-600(krbounotread_noctx)错误 | yangtingkun