Oracle ORA-600: [KTECGETSH-INC], [1]

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

 

适用于:

Oracle Database – Enterprise Edition – 版本10.2.0.4 到11.2.0.1.0 [Release 10.2 to 11.2]
本文信息适用于任何平台。
*** 29-May-2013检查相关性***

症状

在alert.log中遇到以下错误:

ORA-00600: internal error code, arguments: [ktecgetsh-inc]
跟踪文件显示了问题出现在分区表的INSERT语句。

Call Stack调用堆栈

ktecgetsh <- ktecgshx  <- ktspisc <- ktspgsp_cbk1 <- ktspgsp_cbk <- kdtgsp <- kdtgsph
<- kdtgrs <- kdtInsRow <- insrow <- insdrv <- inscovexe
<- insExecStmtExecIniE <- ngine <- insexe <- ngine <- opiexe
<- kpoal8 <- opiodr <- ttcpip <- opitsk <- opiino
<- opiodr <- opidrv <- sou2o <- opimai_real <- main
<- start

原因

未发布 BUG 7313847 – ET11.2DL: ORA-600 [KTECGETSH-INC] ON INSERT. 在分区表上的收缩和拆分后可能会有内存损坏。这种损坏可能会引发ORA-600 [ktecgetsh-INC]或ORA-10632。

例如:

CREATE TABLE t1(c1 NUMBER, c2 NUMBER)
PARTITION BY RANGE(c1) (
PARTITION p1 VALUES LESS THAN(10),
PARTITION p2 VALUES LESS THAN(20)) ENABLE ROW MOVEMENT;

INSERT INTO t1 VALUES(1,1);

COMMIT;

ALTER TABLE t1 SHRINK SPACE CASCADE;

ALTER TABLE t1 SPLIT PARTITION p1 AT(5) INTO (
PARTITION p1_1, PARTITION p1_2);

INSERT INTO t1 VALUES(4,4);

^
ORA-600 [ktecgetsh-inc]

解决方案

  1. 应用Patch 7313847如果适用于你的平台和版本

    2. 升级到11.2.0.2 及以上(bug修正被包括在11.2.0.2 及以上)。

    3. 在SPLIT 操作后关闭并重启实例(这将确保内存中的数据从字典中被重新加载)。

参考
NOTE:7313847.8 – Bug 7313847 – OERI[ktecgetsh-inc] after shrink and split of partitioned table

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号