Re: ORA-29874 DRG-50857: oracle error in dreii1fsh ORA-12899: value too large for column "DR$TOKEN" (actual: 69, maximum: 64)

From: Mikhail Velikikh <mvelikikh_at_gmail.com>
Date: Wed, 4 Nov 2020 13:12:09 +0000
Message-ID: <CALe4HpmeK6Bo-+4v-rGKHSZAyCW5rqoV-zLhqw+XWWO92kJc9Q_at_mail.gmail.com>



Hi Sayan,

I tried to emulate this error but there are too many variables when text indexes come into play.
If you can share your index script, it can help to identify what the cause might be.

select ctx_report.create_index_script('TMDDBA.tm_cc_tc_item_txt_cat') from dual;

I also played a little bit with the following snippet https://gist.github.com/mvelikikh/c9f3936270b9b4bab9554e30f0935638 , utilizing ctx_output logging and sql_trace:

>
> exec ctx_output.start_log(null)
> exec ctx_output.add_event(ctx_output.event_index_print_rowid)
>
> alter session set events 'sql_trace bind=true';
> alter index tm_cc_tc_item_txt_cat rebuild;
>
> exec ctx_output.end_log
>

I got some information that might come in handy to identify the root cause - here is an excerpt from my trace file:

13:04:12 11/04/20 INDEXING ROWID AAASTMAAHAAAAIcAAA
>
> 13:04:12 11/04/20 Begin writing index to database.
>

PARSING IN CURSOR #139837124007000 len=86 dep=1 uid=106 oct=2 lid=106
> tim=8980965396 hv=1205735491 ad='660bee90' sqlid='dtdcgvp3xw423'
> insert into "TC"."DR$TM_CC_TC_ITEM_TXT_CAT$I" values (:token, :ttype,
> :trid, :tdata )
> END OF STMT
> BINDS #139837124007000:
>
> Bind#0
> oacdty=01 mxl=2000(255) mxlc=00 mal=00 scl=00 pre=00
> oacflg=00 fl2=0000 frm=01 csi=01 siz=2056 off=0
> kxsbbbfp=7f2e5e0a6670 bln=2000 avl=30 flg=05
> value="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
> Bind#1
> oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
> oacflg=00 fl2=0000 frm=00 csi=00 siz=0 off=2000
> kxsbbbfp=7f2e5e0a6e40 bln=22 avl=01 flg=01
> value=0
> Bind#2
> oacdty=01 mxl=32(18) mxlc=00 mal=00 scl=00 pre=00
> oacflg=00 fl2=0000 frm=01 csi=01 siz=0 off=2024
> kxsbbbfp=7f2e5e0a6e58 bln=32 avl=18 flg=01
> value="AAASTMAAHAAAAIcAAA"
> Bind#3
> oacdty=23 mxl=128(100) mxlc=00 mal=00 scl=00 pre=00
> oacflg=12 fl2=0000 frm=00 csi=00 siz=128 off=0
> kxsbbbfp=7f2e5dd7b1e8 bln=128 avl=01 flg=09
> value=
> EXEC
> #139837124007000:c=17988,e=22433,p=0,cr=32,cu=54,mis=1,r=1,dep=1,og=1,plh=0,tim=8980987926
>

Best regards,
Mikhail Velikikh

On Wed, 4 Nov 2020 at 11:53, Sayan Malakshinov <xt.and.r_at_gmail.com> wrote:

> Hi listers,
>
> Does anybody know how to fix "ORA-12899: value too large for column
> "DR$TOKEN" (actual: 69, maximum: 64)" after migrating from Oracle 12.2 to
> Oracle 19?
> Have you seen this exact error on CTX indexes before?
>
> SQL> alter index tm_cc_tc_item_txt_cat rebuild;
> alter index tm_cc_tc_item_txt_cat rebuild
> *
> ERROR at line 1:
> ORA-29874: warning in the execution of ODCIINDEXALTER routine
> ORA-29960: line 1,
> DRG-50857: oracle error in dreii1fsh
> ORA-12899: value too large for column
> "TMDDBA"."DR$TM_CC_TC_ITEM_TXT_CAT$I"."DR$TOKEN" (actual: 69, maximum: 64)
>
>
> --
> Best regards,
> Sayan Malakshinov
> Oracle performance tuning engineer
> Oracle ACE Associate
> http://orasql.org
>

--
http://www.freelists.org/webpage/oracle-l
Received on Wed Nov 04 2020 - 14:12:09 CET

Original text of this message