问题描述
SELECT T.COL1,T.COL2 FROM TAB01 T WHERE CONTAINS(T.COL3,'身份证号码') > 0;

ORA-00600: internal error code, arguments: [kdsgrp1], [], [], [], [], [], [], [], [], [], [], []Tue Feb 20 11:16:59 2024Errors in file u01/app/oracle/diag/rdbms/ywzd/ywzd2/trace/ywzd2_ora_455424.trc (incident=465338):ORA-00600: internal error code, arguments: [kdsgrp1], [], [], [], [], [], [], [], [], [], [], []Incident details in: u01/app/oracle/diag/rdbms/ywzd/ywzd2/incident/incdir_465338/ywzd2_ora_455424_i465338.trcUse ADRCI or Support Workbench to package the incident.See Note 411.1 at My Oracle Support for error and packaging details.
问题排查
oerr ora 60000600, 00000, "internal error code, arguments: [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s]"// *Cause: This is the generic internal error number for Oracle program// exceptions. It indicates that a process has encountered a low-level,// unexpected condition. The first argument is the internal message// number. This argument and the database version number are critical in// identifying the root cause and the potential impact to your system.//// *Action: Visit My Oracle Support to access the ORA-00600 Lookup tool// (reference Note 600.1) for more information regarding the specific// ORA-00600 error encountered.
alter system flush buffer_cache;analyze index <OWNER>.<INDEX NAME> validate structure online;
----- Beginning of Customized Incident Dump(s) -----kdsDumpState: cdb: 0 dspdb: 0 type: 1* kdsgrp1-1: ***********************************************row 0x50f0422e.5 continuation at: 0x50f0422e.5 file# 323 block# 3162670 slot 5 not found (dscnt: 0)KDSTABN_GET: 0 ..... ntab: 1curSlot: 5 ..... nrows: 15
col segment_name for a30col owner for a20col partition_name for a20col tablespace_name for a20set linesize 1000select segment_name,partition_name,segment_type,owner,tablespace_namefrom sys.dba_extentswhere file_id=&AFNand &bad_block_id between block_id and block_id + blocks-1;Analyze table <OWNER>.<TABLE NAME> validate structure cascade online;
There are many CTXSYS objects that are incorrectly created in the SYS schema.set pause offset heading offset pagesize 0set feedback offset verify offspool dropsys.sqlselect 'DROP ' || object_type || ' SYS.' || object_name || ';'from dba_objectswhere object_name not in ('AQ$_SCHEDULES_PRIMARY','DBMS_REPCAT_AUTH','AQ$_SCHEDULES','PRODUCT_USER_PROFILE','SQLPLUS_PRODUCT_PROFILE','PRODUCT_PRIVS','HELP','HELP_TOPIC_SEQ') and object_name||object_type in(select object_name||object_typefrom dba_objectswhere owner = 'SYS')and owner = 'CTXSYS';spool offexit
问题解决
create index ywzd.idx_COL3 on ywzd.TAB01(COL3)indextype is CTXSYS.CONTEXT;

CONTAINS函数介绍
这个查询将返回articles表中所有包含Oracle词语的记录。SELECT *FROM articlesWHERE CONTAINS(content, 'Oracle');
参考资料
1、Causes and Solutions for ora-600 [kdsgrp1] (Doc ID 1332252.1)
2、ORA-600 [kdsgrp1] (Doc ID 285586.1)
3、Oracle Text Health Check (Doc ID 823649.1)
4、https://www.modb.pro/oraFunc
以上就是本期关于“调用全文检索CONTAINS函数遇到 ora-600 [kdsgrp1]错误”的解决方案。希望能给大家带来帮助。
欢迎关注“数据库运维之道”公众号,一起学习数据库技术。

推荐阅读
文章转载自数据库运维之道,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




