跨模式更改索引

时间:2008-10-30 18:07:15

标签: database oracle indexing grant

我使用存储的PL / SQL过程同步表作为Web应用程序的一部分 - 当他们点击按钮时它会进行同步。 PL / SQL作为用户A执行,但需要禁用索引并同步模式B中的几个表。我不能让用户A“改变索引B.indexName不可用”,尽管授予它“改变任何索引”,甚至在绝望中甚至是DBA。错误是ORA-01418:指定的索引不存在。这是在另一个开发人员的沙盒上工作,但我无法弄清楚为什么。任何建议将不胜感激。

3 个答案:

答案 0 :(得分:1)

您是否通过角色授予ALTER ANY INDEX权限?或者是直接授予用户A?

的权限

通过角色(例如DBA)授予的权限不适用于定义者的权限存储过程(默认值)。在定义者的权限存储过程中,只有直接授予用户的权限才可用。

答案 1 :(得分:0)

索引是否存在?不止一次,我因为没有以面值发送错误信息而浪费时间。

答案 2 :(得分:0)

我删除了索引并重建了它,这似乎解决了上面的问题。现在它允许我禁用索引,但告诉我用户没有足够的权限来改变索引...当我完成填充表时在线重建。用户A对该操作有什么特权,如果你这么好的话?