签到成功

知道了

CNDBA社区CNDBA社区

Oracle ORA-00600: [dmlsrvColLenChk_2:dty] 错误 说明

2016-11-25 15:43 2806 0 原创 Oracle 故障处理
作者: dave

 

群里有人贴了一个错误:

ORA-00600: 内部错误代码, 参数:[dmlsrvColLenChk_2:dty], [2], [0], [16896], [], [], [], [], [], [], [], []

ORA-06512: 在 "IDBG17_DEV.ETL_LINK13_LLR_BRN", line 44

ORA-06512: 在 line 2

 

MOS 上搜了一下,有篇文章说明:http://www.cndba.cn/dave/article/474

ORA-00600: [dmlsrvColLenChk_2:dty], [2]During Insert [ID 437343.1]

 

An insert statement fails with thefollowing error and stack trace:
--insert 操作失败,并报如下错误。

ORA-00600: internal error code, arguments:[dmlsrvColLenChk_2:dty], [2], [], [],[], [], [], []

Stack trace:http://www.cndba.cn/dave/article/474

ksedst ksedmp ksfdmp kgerinv kgeasnmierrdmlsrvColLenChk 
insLoadRow qermtRop PGOSF342_qersqRow Procedure qerfiFetch qersqFetch

 

http://www.cndba.cn/dave/article/474

一.导致这个错误的原因:

This is bug 5526494 whichis closed duplicate of base bug 6627733:

Bug 5526494.-P Base Bug 6627733
Abstract: ORA-600 [DMLSRVCOLLENCHK_2:DTY], [12] RUNNING INSERT AS SELECT

Base Bug 6627733
Abstract: OERI[dmlsrvColLenChk_2:dty] inserting NULLs into CHAR length semanticscolumn

http://www.cndba.cn/dave/article/474

 http://www.cndba.cn/dave/article/474

This problem is introduced by the fix for Bug 3447792 .

--这个问题由bug3447792 引入。

 

ORA-600 [dmlsrvColLenChk_2:dty] can occur when inserting NULL values into  columns with character length semantics along with NULL into DATE or NUMERIC columns in an insert SQL.

--当把NULL 插入character 类型的字段时,或者 将NULL 插入DATE,NUMBERIC 类型的字段时会发生ORA-600 [dmlsrvColLenChk_2:dty] 错误。http://www.cndba.cn/dave/article/474

 

eg: 
create table bug6627733
(
VAR_CHAR VARCHAR2(3 CHAR),
SOME_DATE DATE
);


INSERT ALL
WHEN 1=1
THEN
INTO bug6627733 ( VAR_CHAR, SOME_DATE )
VALUES ( NULL, NULL )
SELECT NULL FROM dual;
^
ORA-600

二.解决方法:

Bug 6627733 is fixed inOracle releases 10.2.0.5.0, 11.1.0.7.0 and 12.1.0.0.0.http://www.cndba.cn/dave/article/474

--bug 6627733 在10.2.0.5 11.1.0.7.0 和 12.1.0.0.0以后已经修复。

 

To implement the solution, please downloadand apply Patch 6627733 if it is available for your platform.

--为了解决这个问题,也可以应用Patch 6627733.



In some cases, a possible workaround is to alter the columns of typeVARCHAR2(nn CHAR) as shown in the example below.

First identify table(s) involved in the failing query and then describe thetable(s). For example:


SQL> descr kf_abschluss_tst
Name Null? Type
-------------------------------- -------- ------------------
C_KONTO_ID NOT NULL VARCHAR2(19 CHAR)<==
C_MANDANT NOT NULL NUMBER(5)
B_ENDE NOT NULL NUMBER(18,3)
F_ZU_KOMPENSIERENDER_ABSCHLUSS NOT NULL NUMBER(1)
C_KONTO_ID_ZINSAUS VARCHAR2(19 CHAR) <==

WORKAROUND:
Modify columns of type VARCHAR2(nn CHAR) and remove maximum length sizecharacters



Example:
alter table kf_abschluss_tst modify (c_konto_id varchar2(19));

 

 

 

 

 

-------------------------------------------------------------------------------------------------------

http://www.cndba.cn/dave/article/474

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

Skype: tianlesoftware

Email:   tianlesoftware@gmail.com

Blog:     http://www.tianlesoftware.com

Weibo: http://weibo.com/tianlesoftware

Twitter: http://twitter.com/tianlesoftwarehttp://www.cndba.cn/dave/article/474

Facebook: http://www.facebook.com/tianlesoftwarehttp://www.cndba.cn/dave/article/474

Linkedin: http://cn.linkedin.com/in/tianlesoftware

 

-------加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请----

DBA1 群:62697716(满);   DBA2 群:62697977(满)  DBA3 群:62697850(满)  

DBA 超级群:63306533(满);  DBA4 群:83829929   DBA5群: 142216823

DBA6 群:158654907    DBA7 群:172855474   DBA总群:104207940

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2239
    原创
  • 3
    翻译
  • 547
    转载
  • 186
    评论
  • 访问:6645143次
  • 积分:4249
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ