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 Oracle Infinity:单击“事件示例代码”