【发布时间】:2019-08-12 05:33:57
【问题描述】:
从匿名块创建工作工作正常:
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 - “权限不足”
【问题讨论】:
-
可能是因为使用
dbms_scheduler的权限是通过角色授予用户的。它应该直接授予用户。 -
谢谢,CREATE JOB 权限是通过角色授予的。
标签: oracle stored-procedures plsql dbms-scheduler