db1上有两个db,table 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:列未编入索引
答案 0 :(得分:0)
您必须添加dblink才能运行。 https://docs.oracle.com/cd/E11882_01/text.112/e24436/csql.htm#CCREF0104
CONTAINS运算符还支持数据库链接。你可以识别一个 远程表或物化视图通过将@dblink附加到末尾 其名称。 dblink必须是数据库的完整或部分名称 链接到包含远程表或物化视图的数据库。 (不支持查询远程视图。)
select *
from test_table@db1 t
where contains(t.a, 'str')@db1 > 0.