暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ORA-1251和ORA-600: [kjccgmb:l]

老杨 2019-04-18
567

问题描述

客户的数据库出现了ORA-1251错误,进而引发了ORA-600(kjccgmb:l)错误。
数据库版本是9208 RAC for Linux X86-64。客户数据库一个数据文件突然不可用,被置为OFFLINE状态:

ORA-01171: datafile 44 going offline due TO error advancing checkpoint
ORA-01122: DATABASE file 44 failed verification CHECK
ORA-01110: DATA file 44: '/dev/raw/raw77'
ORA-01251: UNKNOWN File Header Version READ FOR file NUMBER 44

随后不久,另一个节点的会话出现ORA-600错误:

Sat Oct 22 20:35:09
OUT OF memory FOR message buffers
Errors IN file /oracle/admin/adb/bdump/adb1_lms3_4982.trc:
ORA-00600: internal error code, arguments: [kjccgmb:l], [], [], [], [], [], [], []
Sat Oct 22 20:35:09
Errors IN file /oracle/admin/adb/bdump/adbl_lms3_4982.trc:
ORA-00603: oracle server SESSION TERMINATED BY fatal error
ORA-00600: internal error code, arguments: [kjccgmb:l], [], [], [], [], [], [], []


专家解答

在MOS上没有找到任何与这个ORA-600错误有关的信息,根据错误信息和现象可以推断,由于前面的错误导致数据库文件OFFLINE,导致Oracle在处理全局数据块信息的时候出现了异常,从而引发了这个错误。
客户随后尝试了RESIZE以及RECOVER大量的操作都没有解决问题,尝试通过备份进行恢复,却发现上次备份到当前的归档日志中丢失了几个。
对于这个ORA-1251的错误,Oracle的解释是读写丢失或硬件问题或者Oracle的文件头被外部的进程覆盖。
Oracle官方给出的解决方案是利用这个数据文件创建以来所有的归档进行恢复,其实如果有可用的备份和归档,那么直接恢复数据文件就可以了。
对于当前的这个环境,没有什么其他的好办法了,只好通过DUL来抽取客户的数据了。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论