ORA-00600: internal error code, arguments: [kdsgrp1]

来源:互联网 发布:c语言else if 编辑:程序博客网 时间:2024/05/29 08:42

系统Aix 6.1 rac oracle 10.2.0.4

 

Tue Jan 15 14:24:32 2013
Errors in file /u01/app/oracle/admin/orcl/udump/orcl2_ora_26586.trc:
ORA-00600: 内部错误代码, 参数: [kdsgrp1], [], [], [], [], [], [], []
Tue Jan 15 14:24:34 2013
Errors in file /u01/app/oracle/admin/orcl/udump/orcl2_ora_15527.trc:
ORA-00600: 内部错误代码, 参数: [6017], [0], [0], [], [], [], [], []

 

 

查询库上有个索引极大,平时此索引对应的表的增删改查操作十分频繁。为了想提高数据库性能,并缩小索引的大小,决定在线重建索引:

alter index "TMS"."PK1_OMS_WORK_STATUS" rebuild online;

执行了几个小时候,报了如下错误:

ORA-00600: internal error code, arguments: [kdsgrp1]
查看对应的trace文件:

。。。。。。

Version:        #1 SMP Tue Dec 16 02:59:55 EST 2008
Machine:        x86_64
Instance name: cxdb1
Redo thread mounted by this instance: 1
Oracle process number: 723

*** 2012-05-15 02:23:37.805
*** ACTION NAME:(SQL Window - New) 2012-05-15 02:23:37.778
*** MODULE NAME:(PL/SQL Developer) 2012-05-15 02:23:37.778
*** SERVICE NAME:(xdxdb) 2012-05-15 02:23:37.778
*** SESSION ID:(524.84) 2012-05-15 02:23:37.778
            row 02930f20.ffffffff continuation at
            file# 10 block# 1249121 slot 64 not found
**************************************************
KDSTABN_GET: 0 ..... ntab: 0
curSlot: 64 ..... nrows: 0
**************************************************
*** 2012-05-15 02:23:37.812
ksedmp: internal or fatal error
ORA-00600: 内部错误代码, 参数: [kdsgrp1], [], [], [], [], [], [], []
Current SQL statement for this session:
alter index "TMS"."PK1_OMS_WORK_STATUS" rebuild online
----- Call Stack Trace -----
calling              call     entry                argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ksedst()+31          call     ksedst1()            000000000 ? 000000001 ?
                                                   7FBFFF7580 ? 7FBFFF75E0 ?
                                                   7FBFFF7520 ? 000000000 ?
ksedmp()+610         call     ksedst()             000000000 ? 000000001 ?
*** SESSION ID:(524.84) 2012-05-15 02:23:37.778
            row 02930f20.ffffffff continuation at
            file# 10 block# 1249121 slot 64 not found
**************************************************
KDSTABN_GET: 0 ..... ntab: 0
curSlot: 64 ..... nrows: 0
**************************************************
*** 2012-05-15 02:23:37.812
ksedmp: internal or fatal error

。。。。。。

查看metalink后,发现此乃oracle的一个bug:

Rebuilding a Partitoned Index Online Fails With Ora-00600 [Kdsgrp1] [ID 1181066.1]
 Modified28-FEB-2012    TypePROBLEM    StatusPUBLISHED 

In this Document
  Symptoms
  Cause
  Solution
  References


Applies to:

Oracle Server - Enterprise Edition - Version: 10.2.0.4and later   [Release: 10.2 and later ]
Information in this document applies to any platform.
***Checked for relevance on 28-Feb-2012***

Symptoms

Updating a table after rebuild the partitioned index online, fails with the error below:

ORA-00600: internal error code, arguments: [kdsgrp1]

Call Stack extracted from the trace file may be similar to the one below:

kdsgrp <- kdsgnp <- kdstf0011101km <- kdsttgr <- qertbFetch
<- qergiFetch <- qersoFetch <- qerliFetch <- kdicrws <- kdicdrv
<- opiexe <- opiosq0 <- opipls <- opiodr <- rpidrus
<- skgmstack <- rpidru <- rpiswu2 <- rpidrv <- psddr0
<- psdnal <- pevm_EXIM <- pfrinstr_EXIM <- pfrrun_no_tool <- pfrrun
<- plsql_run <- peidxr_run <- peidxexe <- kkxdexe <- kkxmpexe
<- kgmexwi <- kgmexec <- evapls <- evaopn2 <- kkxmexcs
<- opiexe <- kpoal8 <- opiodr <- kpoodr <- upirtrc
<- kpurcsc <- kpuexecv8 <- kpuexec <- OCIStmtExecute <- jslvec_execcb1
<- jslvswu <- jslve_execute0 <- jslve_execute <- rpiswu2 <- kkjex1e
<- kkjsexe <- kkjrdp <- opirip <- opidrv <- sou2o
<- opimai_real <- main <- libc_start_main <- start


Cause

This issue is due toBug 8546356- ORA-600 [KDSGRP1] AFTER REBUILD COMPOSITE PARTITION INDEX ONLINE INRAC

Development explains that when a COMPOSITE PARTITIONED index is rebuild ONLINE and concurrent DML on the same table is run on separate RAC instances, index corruption might happen where the index is missing some keys. This is only pertaining to composite partitioned indexes. Wrong results or the next errors can be produced by SQL statements:

ORA-8102 by a delete/update
ORA-1499 by "analyze table validate structure cascade"
ORA-600 [kdsgrp1]
ORA-600 [qertbFetchByRowID]

Solution

1. Apply the one offPatch 8546356if available on My Oracle Support for your Oracle version and platform.
OR
2. Rebuild the problematic composite partitioned index.
OR
3. As a workaround : Do not run concurrent DML from any instance other than the one where index online rebuild is happening or rebuild the index without the ONLINE clause.

Note: The bug is marked to be fixed in Oracle 12.1 however at the time of this note, Oracle 12.1 has not been released yet.


References

BUG:8546356- ORA-600 [KDSGRP1] AFTER REBUILD COMPOSITE PARTITION INDEX ONLINE IN RAC
NOTE:887659.1- Getting ORA-01410 for Partitioned Tables Without Any Apparent DDL On The Partitions.

Show Related InformationRelated


Products
  • Oracle Database Products > Oracle Database > Oracle Database > Oracle Server - Enterprise Edition
Keywords
INDEX; PARTITIONED INDEXErrors
QERTBFETCHBYROWID; KDSGRP1; ORA-600[QERTBFETCHBYROWID]; ORA-600[KDSGRP1]; ORA-1499; ORA-8102

原创粉丝点击