gpt4 book ai didi

oracle - DBMS_REDEFINITION.start_redef_table 权限不足错误

转载 作者:行者123 更新时间:2023-12-03 04:53:08 25 4
gpt4 key购买 nike

我正在尝试对现有表进行分区,而不使用 Oracle 删除并重新创建它。

我的 Oracle 10g 支持应用程序中的 DBMS_REDEFINITION 包

我已按照 oracle 文档中的规定向用户授予了所有必要的权限。

grant CREATE ANY TABLE to DDUSER;
grant ALTER ANY TABLE to DDUSER;
grant DROP ANY TABLE to DDUSER;
grant LOCK ANY TABLE to DDUSER;
grant SELECT ANY TABLE to DDUSER;
grant execute on dbms_redefinition to DDUSER;

我能够执行以下过程

begin
Dbms_Redefinition.Can_Redef_Table('DDUSER', 'TABLE');
end;
This throws no error neither any result (Assuming this is as expected)

但是当我尝试运行时

BEGIN
DBMS_REDEFINITION.start_redef_table(
uname => 'DDUSER',
orig_table => 'TABLE',
int_table => 'TABLE_1');
END;

我收到以下错误:

Error report:
ORA-01031: insufficient privileges
ORA-06512: at "SYS.DBMS_REDEFINITION", line 50
ORA-06512: at "SYS.DBMS_REDEFINITION", line 1343
ORA-06512: at line 2
01031. 00000 - "insufficient privileges"

你能帮我吗,我在这里缺少什么特权?或者是否知道在包 DBMS_REDEFINITION 的第 50 行中执行哪个操作?

最佳答案

试试这个:

grant DROP ANY INDEX to DDUSER;
grant CREATE ANY INDEX to DDUSER;

如果表格包含索引(很可能是这种情况),您必须创建新索引。

关于oracle - DBMS_REDEFINITION.start_redef_table 权限不足错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23805521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com