【发布时间】:2021-08-30 05:24:51
【问题描述】:
我在用户 META 中有一个存储过程。此 SP 截断用户 STAGE 中的表。
CREATE PROCEDURE META.sp_truncate_tablex
AUTHID CURRENT_USER
as
BEGIN
EXECUTE IMMEDIATE 'TRUNCATE TABLE STAGE.Tablex';
END;
当我运行 SP 时,我得到 RA-06598: insufficient INHERIT PRIVILEGES。
我试图让这两个用户都成为 DBA。 这意味着如果我运行 SELECT grantee
WHERE granted_role = 'DBA'
ORDER BY grantee;
它告诉我 META dn STAGE 是 DBA。
我也试过:GRANT INHERIT PRIVILEGES ON USER STAGE TO META; 但我在 Oracle 18 中仍然遇到同样的错误。
【问题讨论】:
-
@AlexPoole 是的,我已经阅读并尝试了一切。我将所有权限授予我的 META。它只是没有帮助。我继续得到同样的错误。
-
您作为哪个用户执行该过程?如果那是 META,为什么你有
authid子句?不过,同时创建用户 DBA 似乎有点矫枉过正。 -
authid我有,因为它写在您发送的页面上。但我才意识到,当我不使用它时,它运行起来没有问题。 “OVER KILL”就是问题所在。
标签: oracle stored-procedures plsql dynamic-sql privileges