oracle dbms_scheduler.create_job () ошибка при выполнении в хранимой процедуре - PullRequest
0 голосов
/ 21 марта 2019

Создание задания из анонимного блока работает нормально:

begin
  SYS.DBMS_SCHEDULER.create_job(
  job_name    =>     'test_job',
  job_type    =>     'PLSQL_BLOCK',
  job_action  =>     'begin null; end;',
  enabled     =>     TRUE,
  auto_drop   =>      TRUE);
end;

Результат:

PL / SQL-процедура успешно завершена.

Создание заданияиз хранимой процедуры:

create or replace procedure pr_create_job is
begin
  SYS.DBMS_SCHEDULER.create_job(
  job_name =>'test_job',
  job_type =>'PLSQL_BLOCK',
  job_action =>'begin null; end;',
  enabled     => TRUE,
  auto_drop   => TRUE);
end pr_create_job;

Begin
  pr_create_job;
End;

Результат:

Отчет об ошибке - ORA-27486: недостаточно прав ORA-06512: в «SYS.DBMS_ISCHED», строка 135 ORA-06512:в "SYS.DBMS_SCHEDULER", строка 271 ORA-06512: в "PR_CREATE_JOB", строка 3 ORA-06512: в строке 2 27486. 00000 - "недостаточные привилегии"

1 Ответ

0 голосов
/ 21 марта 2019

Как упомянул Каушик Наяк , привилегия CREATE JOB была предоставлена ​​через роль, а не напрямую пользователю, предоставив пользователю разрешение этой ошибки.

...