同事遇到ora-00600 [6200]错误,根据mos文章How to Identify the Corrupt Index following an ORA-600 [6200] error (文档 ID 1080640.6)得知,
可以通过报错时的trace文件得到是哪个索引有问题.
可以通过报错时的trace文件得到是哪个索引有问题.
This example shows an exerpt from the trace file and how to determine
which index is corrupt.
1. Excerpt from trace file:
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [6200], [260], [262], [], [], [], [], []
Block header dump: dba: 0x7b404757
Object id on Block? Y
seg/obj: 0x6190 csc: 0x00.4e537b5 itc: 2 flg: -typ: 2 - INDEX
fsl: 0 fnx: 0x0
2. Note the value of the seg/obj field (i.e. 0x6190) and translate this to
a decimal number.
$A==%x6190
$show sym a
A == 24976 Hex = 00006190 Octal = 00000060620
3. Look up the object name in the DBA_OBJECTS view.
SVRMGR> SELECT OBJECT_ID, OBJECT_NAME FROM DBA_OBJECTS
WHERE DATA_OBJECT_ID = '24976';
DATA_OBJEC OBJECT_NAME
---------- ------------------------------------------------------
24976 tab1_index5
This is the index that you should drop and recreate. ------>>>额外注意:需要drop and recreate相关索引,不是rebuild相关索引.