Oracle 上下文索引:在 dblink 上不起作用



db1上有两个数据库,表test_table,按字段 a 进行上下文索引。 查询:

select *
from test_table t
where contains(t.a, 'str') > 0 

它在 db1 上工作正常。但是当我尝试通过其他数据库的dblink执行相同的查询时:

select *
from test_table@db1 t
where contains(t.a, 'str') > 0  

我收到此错误:

ora-20000:Oracle 文本错误: DRG-10599:列未编制索引

你必须将 dblink 添加到函数中。 https://docs.oracle.com/cd/E11882_01/text.112/e24436/csql.htm#CCREF0104

包含运算符还支持数据库链接。您可以识别一个 通过将@dblink追加到末尾的远程表或实例化视图 它的名字。dblink 必须是数据库的完整或部分名称 链接到包含远程表或实例化视图的数据库。 (不支持查询远程视图。

select *
from test_table@db1 t
where contains(t.a, 'str')@db1 > 0.

最新更新