ORA-600 [kkdlReadOnDiskDefVal: bad defValLen] After DDL on Table (Doc ID 2072527.1)

Last updated on MAY 19, 2017

Applies to:

Oracle Database - Enterprise Edition - Version 12.1.0.1 to 12.1.0.2 [Release 12.1]
Information in this document applies to any platform.

Symptoms

Accessing a table after some DDL changes were made to the table column, the alert log reports an error like:

ORA-00600: Interner Fehlercode, Argumente: [kkdlReadOnDiskDefVal: bad defValLen], [4], [3], [], [], [], [], [], [], [], [], []

 
The corresponding trace file shows characteristics like:

----- Current SQL Statement for this session (sql_id=adfpy15b3u5sj) -----
LOCK TABLE <table_name> IN EXCLUSIVE MODE NOWAIT

------- Call Stack --------

 ... kkdlReadOnDiskDefVal kqldcor kglslod kqlslod kqlsublod kqlCallback kqllod_new kqlCallback kqllod kglobld kglobpn kglpim qcdlgtd qcsfplob qcsprfro qcsprfro_tree qcsprfro_tree qcspafq qcspqbDescendents qcspqb kkmdrv opiSem opiDeferredSem opitca kksFullTypeCheck rpiswu2 kksLoadChild kxsGetRuntimeLock kksfbc kkspsc0 kksParseCursor opiosq0 opiall0 opikpr opiodr ...

 
At that point, the table could not be used anymore, nor could the table bee dropped.

 

Changes

In this case next actions have been executed an a table column:
1. update values
2. delete default-value of a column
3. change the colums datatype from varchar4 (4 CHAR) to varchar2 (1 CHAR)

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms