2016-02-22 68 views
0

我想将分区添加到现有表中。因此,我跟着这个example.授予执行权限时出现ORA-00942错误

当尝试:

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: 

为什么会出现这种情况?有没有解决方法?

+2

你用什么用户登录? – Aleksej

回答

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

+0

的确,DBA刚刚为我解决了这个问题!无论如何非常感谢! – royskatt