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

1.1k views Asked by At

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

There are 2 answers

0
Ross Kerr On

Just worked through a similar "status 127" issue on linux. The default content filter, CTXSYS.AUTO_FILTER, uses a program to convert binary files to text. So I tried running the /u01/app/oracle/product/11.2.0/xe/ctx/bin/ctxhx program and got a missing library error.

Running yum install compat-libstdc++-33 libstdc++.so.5 -y fixed the issue and Oracle will now search PDF files, perform markup on the search terms, and return results in HTML.

0
Federico Nieri On

We had a similar problem. Our Oracle Database version is 11.2.0.4.181016 after applying the patch "Patch 28204707: DATABASE PATCH SET UPDATE 11.2.0.4.181016" for Linux86-64.

We discovered that libraries for module ctx (Oracle Intermedia) used for indexing, see CTXSYS.AUTO_FILTER and $ORACLE_HOME/ctx/bin/ctxhx, were not for Linux86-64 but for Itanium IA-64, so for a different architecture. Just that single module was wrong.

When we tried to run the $ORACLE_HOME/ctx/bin/ctxhx the libsc_ca.so was not found but it was there. So we cheked the $ORACLE_HOME/ctx/lib/libsc_ca.so with readelf utility.

readelf -h ctx/lib/libsc_ca.so

and we could find that it was for a wrong architecture.

We found Doc ID 2481631.1 on Oracle Support and following that we applied Patch 18121298 that solved us the problem.