Oracle Text - "user filter command exited with status 127"

时间:2015-06-26 10:08:40

标签: sql oracle full-text-search oracle-text

I'm trying to create full text index using oracle text module on table containing blobs (files).

I'm using following script to create an index..

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

I got the result:

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

However, when I want to test created index using...

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

I always get 0 results, no matter what value I add to selector.

Thanks to article: https://community.oracle.com/thread/434057?start=0&tstart=0 I found errors in ctx_user_index_errors table...

DRG-11207: user filter command exited with status 127

What could be a cause of this problem?


EDIT:

Issue seems to be connected with operation system. Oracle installed on Windows indexes fine, while one installed on Redhat won't work at all.

2 个答案:

答案 0 :(得分:1)

我们有类似的问题。 在Linux86-64上应用补丁“补丁28204707:数据库补丁集更新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实用程序che了readelf

readelf -h ctx/lib/libsc_ca.so

我们发现它是用于错误的体系结构。

我们在Oracle支持上找到了Doc ID 2481631.1,然后应用了补丁18121298解决了问题。

答案 1 :(得分:0)

只需在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返回结果。