Oracle ORA00600: [dmlsrvColLenChk2:dty] 错误 说明 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

   

    群里有人贴了一个错误:

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

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

    ORA-06512: 在line 2

    MOS 上搜了一下,有篇文章说明:

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

    An insert statement fails with thefollowing error and stack trace:

    --insert 操作失败,并报如下错误,

Oracle ORA00600: [dmlsrvColLenChk2:dty] 错误 说明

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

    Stack trace:

    ksedst ksedmp ksfdmp kgerinv kgeasnmierrdmlsrvColLenChk

    insLoadRow qermtRop PGOSF342_qersqRow Procedure qerfiFetch qersqFetch

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

    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

    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] 错误。

    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.

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

电脑资料

Oracle ORA00600: [dmlsrvColLenChk2:dty] 错误 说明》(https://www.unjs.com)。

    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));

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

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

    Skype: tianlesoftware

    Email: tianlesoftware@gmail.com

    Blog: http://www.tianlesoftware.com

    Weibo: http://weibo.com/tianlesoftware

最新文章