授予用户权限以授予其他用户

  • 本文关键字:用户 其他 权限 oracle
  • 更新时间 :
  • 英文 :


您能否建议在不给予GRANT ALL PRIVILEDGES的情况下,通过哪些拨款来实现这一目标

CREATE USER TEST IDENTIFIED BY TEST;
GRANT CONNECT, RESOURCE TO TEST;
GRANT SELECT ANY TABLE TO TEST WITH ADMIN OPTION;
GRANT INSERT ANY TABLE TO TEST WITH ADMIN OPTION;
GRANT ANY ROLE TO TEST;
CONNECT TEST/TEST
GRANT INSERT ON SAMPLE.PLAN_A TO SOME ROLE;
*
ERROR at line 1:
ORA-01031: insufficient privileges

Oracle特权的基本前提是您可以对您拥有的其他人拥有的赋予权限。"Others"是不具体的——它是"任何人,而不是你",因此在这些方面的许多特权中使用"任何"一词。

可以使用的机制是定义器权限PL/SQL过程,即

procedure SAMPLE.GRT is
begin
execute immediate 'GRANT INSERT ON SAMPLE.PLAN_A TO SOME ROLE';
end;
grant execute on SAMPLE.GRT to TEST;

但是,当然,如果您想完全作为TEST执行此操作,那么TEST将需要'create ANY procedure',因此您实际上只是转移了问题。

但这就是拨款的方式。

相关内容

最新更新