尝试在另一个架构的索引上调用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
用户身份连接并执行相同的语句时,一切正常。
为什么它告诉我索引在这里不存在(它确实存在)?
我错过了任何补助金或其他任何东西吗?
建议解决方案的约束:我不想使用'更改会话'作为一种解决方法。
答案 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