我们在 11.2 数据库中有几个 dbms_scheduler 作业,我们希望具有特定角色的用户能够运行这些作业。因此,我们不想将直接运行的能力授予用户,因为它会更难以维护。
根据 Oracle 的文档,授予ALTER JOB
用户权限将允许他们运行作业。不幸的是,这似乎并没有扩展到角色:我可以GRANT
很好地运行该语句,并且该作业向ALL_SCHEDULER_JOBS
用户显示,但尝试运行该作业会导致以下错误:
ORA-27476: "S1.J1" does not exist
ORA-06512: at "SYS.DBMS_ISCHED", line 185
ORA-06512: at "SYS.DBMS_SCHEDULER", line 486
ORA-06512: at line 1
Run Code Online (Sandbox Code Playgroud)
鉴于 DBMS_SCHEDULER 是 AUTHID USER,但 DBMS_ISCHED 是 AUTHID DEFINER,我是不是运气不好?或者有什么方法可以将它授予角色而不是用户?