We have several dbms_scheduler jobs in an 11.2 database that we would like users with a certain role to be able to run. As such, we don't want to grant the ability to run directly to the users, as it will be more difficult to maintain.
Based on Oracle's documentation, granting ALTER JOB
to the user will allow them to run the job. Unfortunately, it doesn't appear this extends to roles: I can run the GRANT
statement just fine, and the job shows up in ALL_SCHEDULER_JOBS
for the user, but attempting to run the job results in the following error:
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
Given that DBMS_SCHEDULER is AUTHID USER, but DBMS_ISCHED is AUTHID DEFINER, am I just out of luck? Or is there a way I can grant it to the role and not the user?
authid definer
that invokesDBMS_SCHEDULER
, then grant execution privilege on that procedure to the role?