Oracle Text - “退出状态为127的用户过滤器命令”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle Text - “退出状态为127的用户过滤器命令”相关的知识,希望对你有一定的参考价值。

我正在尝试使用包含blob(文件)的表上的oracle文本模块创建全文索引。

我正在使用以下脚本来创建索引..

CREATE INDEX my_docs_doc_idx ON test_blob(doc) INDEXTYPE IS CTXSYS.CONTEXT;

我得到了结果:

[SQL] CREATE INDEX my_docs_doc_idx ON test_blob(doc) INDEXTYPE IS CTXSYS.CONTEXT
Affected rows: 0
Time: 0.190ms

但是,当我想用​​...测试创建的索引时

SELECT SCORE(1) score, FILE_NAME FROM TEST_BLOB WHERE CONTAINS (doc,'cola',1) > 0

无论我添加到选择器的值是什么,我总是得到0结果。

感谢文章:https://community.oracle.com/thread/434057?start=0&tstart=0我在ctx_user_index_errors表中发现错误...

DRG-11207: user filter command exited with status 127

可能是造成这个问题的原因是什么?


编辑:

问题似乎与操作系统有关。安装在Windows上的Oracle索引很好,而安装在Redhat上的Oracle根本不起作用。

答案

我们遇到了类似的问题。在为Linux86-64应用补丁“Patch 28204707:DATABASE PATCH SET UPDATE 11.2.0.4.181016”后,我们的Oracle数据库版本为11.2.0.4.181016。

我们发现用于索引的模块ctx(Oracle Intermedia)的库,参见CTXSYS.AUTO_FILTER$ORACLE_HOME/ctx/bin/ctxhx,不是针对Linux86-64,而是针对Itanium IA-64,因此针对不同的架构。只是那个模块是错误的。

当我们试图运行$ORACLE_HOME/ctx/bin/ctxhx时,没有找到libsc_ca.so,但它就在那里。因此,我们用$ORACLE_HOME/ctx/lib/libsc_ca.so实用程序对readelf进行了讨论。

readelf -h ctx/lib/libsc_ca.so

我们可以发现这是一个错误的架构。

我们在Oracle Support上找到了Doc ID 2481631.1,然后我们应用了Patch 18121298解决了我们的问题。

另一答案

刚刚在Linux上解决了类似的“状态127”问题。默认内容过滤器CTXSYS.AUTO_FILTER使用程序将二进制文件转换为文本。所以我尝试运行/u01/app/oracle/product/11.2.0/xe/ctx/bin/ctxhx程序并得到一个丢失的库错误。

运行yum install compat-libstdc++-33 libstdc++.so.5 -y解决了这个问题,Oracle现在将搜索PDF文件,在搜索条件上执行标记,并以html格式返回结果。

以上是关于Oracle Text - “退出状态为127的用户过滤器命令”的主要内容,如果未能解决你的问题,请参考以下文章

text sqlplus连接oracle

text Conexion ORACLE DB(WAS)

text Oracle Infinity:单击“事件示例代码”

text 类别树解决方案Oracle Ver

text ORCL - Verifier la version oracle

text JDBC负载均衡方式连接的Oracle双机RAC