7 x 24 在线支持!
【Oracle数据恢复】解析ORA-600 [kdsgrp1]错误
ORA-00600[kdsgrp1]错误从10g开始被引入,具体针对bug 2442351,这个kdsgrp1错误号是特别针对数据块做的一个额外的健康检查,如果发生了该错误,那么一般是Oracle检测到一个空的行头了。
引发该ORA-600 [kdsgrp1]报错的一般场景是:
- 索引所指向的行记录被发现在表上其实并不真实存在
- 一个链式行指向不存在的ROWID
TRACE文件中可能出现:
情景1 表和索引的不一致
row 02433566.13 continuation at
file# 9 block# 210278 slot 20 not found
这里的file=9 block=210278 即rdba=0x02433566是由索引指出的
row#3[7549] flag: ------, lock: 0, len=85, data:(6): 02 43 35 66 00 14
但是对应的SLOT 20则在块中并不真实存在
tab 0, row 1, @0x1e62
tl: 2 fb: --HDFL-- lb: 0x3
tab 0, row 12, @0x191a
tl: 2 fb: --HDFL-- lb: 0x1
tab 0, row 17, @0x1675
tl: 2 fb: --HDFL-- lb: 0x2
tab 0, row 21, @0x1459
tl: 2 fb: --HDFL-- lb: 0x4
如果执行analyze 命令:analyze table <table name> validate structure cascade;, 则可能出现ORA-1499错误
情景2 一行指向另一个ROWID,但是实际不存在
TRACE文件中显示:
row 1186b11a.ffffffff continuation at
file# 70 block# 441621 slot 1 not found
其代表该rdba 0x1186b11a的行的后续部分在file# 70 block# 441621 slot 1.
但是可惜的是file# 70 block# 441621 slot 1却并不存在:
tab 0, row 16, @0xd7f ---> This is the slot with the problem.
tl: 29 fb: -------- lb: 0x0 cc: 11
nrid: 0x1186bd15.1
这个情景下如果执行ANALYZE TABLE .. VALIDATE STRUCTUR则不会发现逻辑错误
可以通过做一个exp或者全表扫描来确认是否存在持续的无限链式行
对于以上ORA-600 [kdsgrp1]错误,一般都可以通过设置10231 EVENT来绕过的。
与ORA-600 [kdsgrp1]错误相关的BUG列表如下:
NB Bug Fixed Description |
13614906 12.1.0.0 ORA-600 [kdsgrp1] due to missing weak changes from an XA transaction in RAC - superceded |
13146182 11.2.0.2.BP17, 11.2.0.3.BP07, 12.1.0.0 ORA-1499 ORA-8102 ORA-600 [kdsgrp1] Bitmap Index / Table mismatch |
12619529 12.1.0.0 ORA-600[kdsgrp1] from SELECT on plugged in tablespace with FLASHBACK |
10633840 11.2.0.2.7, 11.2.0.2.BP17, 11.2.0.3, 12.1.0.0 ORA-1502 on insert statement on INTERVAL partitioned table. ORA-8102 / ORA-1499 Index |
inconsistency |
10329146 11.2.0.1.BP10, 11.2.0.2.2, 11.2.0.2.BP03, 11.2.0.2.GIBUNDLE02, |
11.2.0.2.GIPSU02, 11.2.0.3, 12.1.0.0 Lost write in ASM with multiple DBWs and a disk is offlined and then onlined |
10245259 11.2.0.2.BP03, 11.2.0.3, 12.1.0.0 PARALLEL INSERT with +NOAPPEND hint or if PARALLEL INSERT plan is executed in SERIAL |
corrupts index and causes wrong results |
+ 10209232 11.1.0.7.7, 11.2.0.1.BP08, 11.2.0.2.1, 11.2.0.2.BP02, |
11.2.0.2.GIBUNDLE01, 11.2.0.3, 12.1.0.0 ORA-1578 / ORA-600 [3020] Corruption. Misplaced Blocks and Lost Write in ASM |
9770451 10.2.0.5.3, 11.2.0.2.1, 11.2.0.2.BP02, 11.2.0.3, 12.1.0.0 ORA-600 [20022] with bitmap indexes |
+ 9734539 11.2.0.2, 12.1.0.0 ORA-8102 / ORA-1499 corrupt index after update/merge using QUERY REWRITE |
+ 9469117 10.2.0.5.4, 11.2.0.1.BP04, 11.2.0.2, 12.1.0.0 Corrupt index after PDML executed in serial. Wrong results. OERI[kdsgrp1]/ORA-1499 by |
analyze |
9457185 11.2.0.1.BP12, 11.2.0.2, 12.1.0.0 Intermittent ORA-600 [kdsgrp1] during CR read |
+ 9231605 11.1.0.7.4, 11.2.0.1.3, 11.2.0.1.BP02, 11.2.0.2, 12.1.0.0 Block corruption with missing row on a compressed table after DELETE |
* 9145541 11.1.0.7.4, 11.2.0.1.2, 11.2.0.2, 12.1.0.0 OERI[25027]/OERI[4097]/OERI[4000]/ORA-1555 in plugged datafile after CREATE |
CONTROLFILE in 11g |
9061269 11.2.0.2, 12.1.0.0 ORA-600 [kdsgrp1] executing CTX_QUERY.COUNT_HITS during concurrent sync Text index |
+ 8951812 11.2.0.2, 12.1.0.0 Corrupt index by rebuild online. Possible OERI [kddummy_blkchk] by SMON |
8837919 11.2.0.2, 12.1.0.0 DBV / RMAN enhanced to detect ASSM blocks with ktbfbseg but not ktbfexthd flag set as in |
Bug 8803762 |
8803762 11.1.0.7.6, 11.2.0.1.2, 11.2.0.1.BP06, 11.2.0.2, 12.1.0.0 ORA-600[kdsgrp1], ORA-600[25027] or wrong results on 11g database upgrade from 9i |
8771916 10.2.0.5.3, 11.1.0.7.6, 11.2.0.1.BP12, 11.2.0.2, 12.1.0.0 OERI [kdsgrp1] during CR read |
P 8635179 10.2.0.5, 11.2.0.2, 12.1.0.0 Solaris: directio may be disabled for RAC file access. Corruption / Lost Write |
+ 8597106 11.2.0.1.BP06, 11.2.0.2, 12.1.0.0 Lost Write in ASM when normal redundancy is used |
+ 8546356 10.2.0.5.1, 11.2.0.1.3, 11.2.0.1.BP07, 11.2.0.2, 12.1.0.0 ORA-8102/ORA-1499/OERI[kdsgrp1] Composite Partitioned Index corruption after rebuild |
ONLINE in RAC |
7710827 11.2.0.2, 12.1.0.0 Index rebuild or Merge partition causes wrong results in concurrent reads instead of ORA- |
8103 |
7705591 10.2.0.5, 11.2.0.1.1, 11.2.0.1.BP04, 11.2.0.2, 12.1.0.0 Corruption with self-referenced row in MSSM tablespace. Wrong Results / OERI[6749] / ORA- |
8102 |
7251049 11.2.0.1.BP08, 11.2.0.2, 12.1.0.0 Corruption in bitmap index introduced when using transportable tablespaces |
P 12330911 12.1 EXADATA LSI firmware for lost writes |
8650661 11.1.0.7.2, 11.2.0.1 OERI / corruption type errors using global transactions in RAC |
8588540 11.1.0.7.2, 11.2.0.1 Corruption / ORA-8102 in RAC with loopback DB links between instances |
7682186 11.2.0.1 ORA-600[kdsgrp1] on consistent read in RAC with global transaction |
+ 7329252 10.2.0.4.4, 10.2.0.5, 11.1.0.7.5, 11.2.0.1 ORA-8102/ORA-1499/OERI[kdsgrp1] Index corruption after rebuild index ONLINE |
7289224 11.2.0.1 ORA-600 [kdsgrp1] on CR read with parallel query |
6791996 11.2.0.1 ORA-600 errors for a DELETE with self referencing FK constraint and BITMAP index |
6445948 10.2.0.4.4, 10.2.0.5, 11.1.0.7.8, 11.2.0.1 Intermitent ORA-600 [kdsgrp1] accessing table with a LONG |
6404058 10.2.0.5, 11.1.0.7, 11.2.0.1 OERI:12700 OERI:kdsgrp1 OERI:qertbFetchByRowID wrong results from CR rollback of split |
index leaf |
6129296 11.2.0.1 ORA-600 [kdsgrp1] by PARALLEL select for update with LOB |
6772911 10.2.0.5, 11.1.0.7.3 OERI[12700] OERI[qertbFetchByRowID] OERI[kdsgrp1] due to bad CR rollback of INDEX block |
5621677 10.2.0.4, 11.1.0.6 Logical corruption with PARALLEL update |
5374225 10.2.0.4, 11.1.0.6 SDO_FILTER query fails with OERI[kdsgrp1] |
5368945 10.2.0.5, 11.1.0.6 ORA-600 [kdsgrp1] on Index Organized Table with Overflow |
4883635 10.2.0.4, 11.1.0.6 MERGE (with DELETE) can produce wrong results or Logical corruption in chained rows |
3408192 9.2.0.6, 10.1.0.3, 10.2.0.1 Heavy concurrent DML scenarios can cause $R table to contain deleted rowids |
添加新评论