甲骨文:'填充待处理的'另一个模式的索引

时间:2015-10-06 13:46:15

标签: sql oracle indexing

尝试在另一个架构的索引上调用ctx_ddl.populate_pending

call ctx_ddl.populate_pending ('OTHERSCHEMA.INDEX_NAME', null);

...我收到了Oracle错误:

SQL-Fehler: ORA-20000: Oracle Text error:
DRG-10502: index INDEX_NAME does not exist

当我以OTHERSCHEMA用户身份连接并执行相同的语句时,一切正常。

为什么它告诉我索引在这里不存在(它确实存在)?
我错过了任何补助金或其他任何东西吗?

建议解决方案的约束:我不想使用'更改会话'作为一种解决方法。

1 个答案:

答案 0 :(得分:1)

编辑:
似乎是Oracle 11.2中的一个错误。使用Oracle 12.1,该语句可以正常工作。
将以下解决方案视为Oracle 11.2的解决方法。

使用委派目标架构中的过程

解决了这个问题

在目标架构' OTHERSCHEMA'

CREATE OR REPLACE PROCEDURE POPULATE_PENDING_INDEX IS
BEGIN
     execute immediate 'call ctx_ddl.populate_pending(''INDEX_NAME'', NULL)';
END;
/

使用其他架构用户执行:

exec OTHERSCHEMA.POPULATE_PENDING_INDEX