我想将分区添加到现有表中。因此,我遵循了example.
尝试:
grant execute on dbms_redefinition to USER
Oracle返回以下错误:
Error starting at line 13 in command:
grant execute on dbms_redefinition to USER
Error report:
SQL Error: ORA-00942: table or view does not exist
00942. 00000 - "table or view does not exist"
*Cause:
*Action:
为什么会这样?它有解决方法吗?
答案 0 :(得分:2)
首先,您需要以SYSDBA身份登录,以授予用户对该程序包的执行权限。
其次,请注意,要使dbms_redefinition正常工作,用户还需要以下权限:
ALTER ANY TABLE
CREATE ANY TABLE
DROP ANY TABLE
LOCK ANY TABLE
SELECT ANY TABLE
并且,根据目标表,您可能还需要:
CREATE ANY INDEX
CREATE ANY TRIGGER
这些是授予用户的非常强大的权利,因此您可能希望在完成需要完成的操作后撤消它们。使用此包is here
的另一个好例子