对文本索引的表做DML操作时,有时会遭遇类似下面的错误:
ERROR at line 1:
ORA-29877: failed in the execution of the ODCIINDEXUPDATE routine
ORA-20000: Oracle Text error:
DRG-50857: oracle error in textindexmethods.ODCIIndexUpdate
ORA-20000: Oracle Text error:
DRG-10602: failed to queue DML change to column VAL5 for primary key AAAMoUAAEAAAACUAAA
DRG-50857: oracle error in drekqkd (n_stmt)
ORA-06550: line 1, column 257:
PLS-00103: Encountered the symbol "RD_CMS_FINAL_SCHOTT_INTRANET" when expecting one of the following:
:= . ( @ % ;
ORA-06512: at "CTXSYS.DRUE", line 160
ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 679
MOS中对于此问题的参考: www.ora86.com
DML operations fail with error ORA-29877, DRG-50857, DRG-10602, "DRG-50857: oracle error in drekqkd (n_stmt)", PLS-103 本文来自Ora86
Changes
Database has been upgraded from 10.2.0.4 to 10.2.0.5. copyright ora86
Cause
The cause of this problem has been identified in Bug 9488247. It is caused by an internal sql statement which is not long enough to include structure of schema and index name(不足以包含schema和index_name的长度,估计是变量长度定的有些短,库中的用户名长度为22,索引长度为19).
Bug 11901661 has been closed as a duplicate of Bug 9488247.
Solution
When available, download Patch 9488247 to resolve this issue. Ora86中文网
没有暂时没有patch下载权限,根据MOS中描述的起因,schema名称是不能修改的,那么只能考虑改索引名,直接把索引名改成一个字母。
Ora86,Ora86中文网
暂时没有问题了,不知道还会不会报错。
--转自