Job execution
It might look like kicking in an open door, but the job owner has automatic execution privileges on his or her own jobs. As dbms_scheduler
works with authid current_user
, the executing user also needs the privileges on the objects that are used in the job. Originally, Oracle had stored objects defined with definer's rights. This means that if you have an execute
permission on a package, with definer's rights (the default), the package can use all the objects that it needs without having to call the user to have privileges on the objects that the package works on. With authid current_user
, we run the package with the privileges of the user who calls the package. This means that if (for example) the package wants to insert a row into a table, the calling user needs to not only execute privilege on the package, but also insert privileges on the table. Scheduler objects that can be granted to others are—job_class
and Program
. In order to be able to associate a job with a job_class...