【问题标题】:Oracle - Grant Create Job privilege to roleOracle - 授予角色创建作业权限
【发布时间】:2018-07-06 09:29:15
【问题描述】:

Oracle - 向角色授予 Create Job 权限

Login user = JOEL

User JOEL got error "ORA-27486: insufficient privileges ORA-06512: at 
"SYS.DBMS_ISCHED", line 124 ORA-06512: at "SYS.DBMS_SCHEDULER", line 271 ORA- 
06512: at line 1"

要解决上述错误,请授予 JOEL 以下权限: 将 Create Job 授予 JOEL; 备注:通过将 Create Job 授予 JOEL,解决了上述错误。


But, instead of granting "Create Job" directly to user JOEL, grant the 
privilege by ROLE as follow:

Create Role Job_Role;
Grant Create Job to Job_Role;
Grant Job_Role to JOEL;

Remarks: User JOEL got the same error even granted with Job_Role

我可以知道为什么授予角色不起作用吗? 谢谢。

【问题讨论】:

  • 欢迎来到 Stack Overflow!您可以编辑您的帖子并添加导致您收到错误消息的 SQL 语句吗?
  • 另外请显示导致错误的语句是在匿名 PL/SQL 块内还是在存储过程内运行。

标签: oracle


【解决方案1】:

是的,它不适用于通过角色授予的特权CREATE JOB,如文档中所述:

“对象权限必须直接授予用户。” (source)

至于 Oracle 为何以这种方式实现它,只能猜测DBMS_SCHEDULER 至少部分在 PL/SQL 包中实现。在各种类型的存储过程中,角色被(不)著名地禁用了。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2019-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多