如何添加系统权限以允许从 Oracle 数据库中的另一个模式更改作业?

How to add a system privilege to allow to alter jobs from another schema in Oracle database?

我在 Oracle 数据库 (11.2) 中的模式 (schema1) 中有 dbms_scheduler 个作业,我想授予系统权限以将作业从另一个模式 (schema2) 更改为模式 1。我怎样才能做到这一点?

没有一种简单的方法可以为另一个架构中的所有对象授予权限。但是you have two other options我能想到:

  1. GRANT ALTER myjob1 TO schema1; - 您可以授予 schema1 更改 schema2 中单个作业的权限。
  2. GRANT SCHEDULER_ADMIN TO schema1; - 这是一个强大的 DBA 权限,允许 schema1 create/alter 任何调度程序作业(允许他们像任何其他用户一样执行代码)。

我会推荐选项 1。

除了@kfinity 提到的两个选项之外,还有第三个选项,即在 schema2 中创建一个 PL/SQL 存储过程,它改变了它自己的工作(只是对 [=11 调用的包装) =]),然后将此过程的执行权限授予 schema1.