我们先来看看对方的问题:
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错误来讲,我一般分为两大类:
- ora-00600 【函数】
- 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 | 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 司进行专业技术分析并处理!




