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

如何处理Ora-00600 [2130]

原创 Roger 2019-09-02
1392
昨天有微信好友问到如何处理ora-00600 [2130]错误。对于这个错误,Oracle MoS上有一些文章;但是都是什么Bug之类,不太符合。

我们先来看看对方的问题:
Thu Aug 29 16:06:24 2019
Dumping diagnostic data in directory=[cdmp_20190829160624], requested by (instance=1, osid=17282 (CKPT)), summary=[incident=144277].
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Errors in file /home/u01/app/oracle/diag/rdbms/xyorcl/xyorcl1/trace/xyorcl1_ckpt_17282.trc:
ORA-00600: internal error code, arguments: [3719], [], [], [], [], [], [], [], [], [], [], []
CKPT (ospid: 17282): terminating the instance due to error 469
Thu Aug 29 16:06:24 2019
......
......
Abort recovery for domain 0
Aborting crash recovery due to error 600
Errors in file /home/u01/app/oracle/diag/rdbms/xyorcl/xyorcl1/trace/xyorcl1_ora_54897.trc:
ORA-00600: internal error code, arguments: [2130], [0], [192], [3], [], [], [], [], [], [], [], []
Abort recovery for domain 0
Errors in file /home/u01/app/oracle/diag/rdbms/xyorcl/xyorcl1/trace/xyorcl1_ora_54897.trc:
ORA-00600: internal error code, arguments: [2130], [0], [192], [3], [], [], [], [], [], [], [], []
ORA-600 signalled during: ALTER DATABASE OPEN /* db agent *//* {0:9:108} */...
Thu Aug 29 16:07:06 2019
Shutting down instance (abort)
License high water mark = 34

从发的alert log来看,很明显几天前就挂掉了。对方说是归档的,但是之前都能启动,后面居然无法open,这却是有点怪异。

这里暂且不管啥问题吧,单纯的看这个错误;根据我们对Oracle对理解;问题可能出在redo上。

因此这里我仅仅提供了一种思路;重建controlfile,再尝试恢复。最后居然ok了。。。。

这个case就这么结束了。。。。

太过于简短了。我这里补充一点,如何分析和处理ora-00600错误吧?

对于Oracle ora-00600 internal错误来讲,我一般分为两大类:

  1. ora-00600  【函数】

  2. ora-00600  【数字】


ora-00600 [函数] 类分析


对于这种ora-600错误,一般的思路如下:


   1 根据alert log,分析trace,定位call stack(如果存在)


   2)    定位触发错误的操作(通常可能是DML,也不排除DDL


   3 搜索MOS,根据函数定位bug


   4 提交SR,确认bug


   5) 如果可以,进行模拟,重新问题。


 

对于第2种错误的分析;首先需要大家对于这个数字有所了解;其实这方面Oracle internal提供了一篇文章,我这里截取部分供参考:

对于这类型的错误,首先我们需要有一个大概的判断,根据ora-00600之后的 数字进行判断:


1--- 2000        Service Layer


                     























































































Ora-600 Base



Functionality



Description



1



vos



Component notifier



100



vos



Debug



300



vos



Error



500



vos



Lock



700



vos



Memory



900



vos



System Parameters



1100



vos



System State object



1110



vos



Generic Linked List management



1140



vos



Enqueue



1180



vos



Instance Locks



1200



vos



User State object



1400



vos



Async Msgs



1700



vos



license Key



1800



vos



Instance Registration



1850



vos



I/O Services components



vos:Virtual Operating System


2000---4000       Cache Layer








































































Ora-600 Base



Functionality



Description



2000



server/rcv



Cache Op



2100



server/rcv



Control File mgmt



2200



server/rcv



Misc (SCN etc.)



2400



server/rcv



Buffer Instance Hash Table



2600



server/rcv



Redo file component



2800



server/rcv



Db file



3000



server/rcv



Redo Application



3200



server/cache



Buffer manager



3400



server/rcv



Archival & media recovery component



3600



server/rcv



recovery component



3700



server/rcv



Thread component



3800



server/rcv



Compatibility segment



Note : rcv indicates recovery. It is important to remember that the Oracle cache layer is effectively going through


             the same code paths as used by the recovery mechanism


4000 ---6000     Transaction Layer








































































Ora-600 Base



Functionality



Description



4000



server/txn



Transaction Undo



4100



server/txn



Transaction Undo



4210



server/txn



Transaction Parallel



4250



server/txn



Transaction List



4300



space/spcmgmt



Transaction Segment



4400



txn/lcltx



Transaction Control



4450



txn/lcltx



distributed transaction control



4500



txn/lcltx



Transaction Block



4600



space/spcmgmt



Transaction Table



4800



dict/rowcache



Query Row Cache



4900



space/spcmgmt



Transaction Monitor



5000



space/spcmgmt



Transaction Extent



这个类错误,我们可能通常是会遇到坏块的,当然也可能是逻辑性的不一致。这种情况下,可能需要参考:


Handling Oracle Block Corruptions in Oracle7/8/8i/9i/10g/11g (Doc ID 28814.1)


6000 ----12000     Data Layer





































Ora-600 Base



Functionality



Description



6000



ram/data
ram/analyze
ram/index



data, analyze command and index related activity



7000



ram/object



lob related errors



8000



ram/data



general data access



8110



ram/index



index related



8150



ram/object



general data access



更多详细信息,请参考:ORA-600 Lookup Error Categories (Doc ID 175982.1)


总的来说,对于ora-00600错误,一般来说都比较严重,需要深入分析;建议联系Oracle 原厂或Oracle 司进行专业技术分析并处理!
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论