将工作与工作阶层联系起来

时间:2012-02-23 19:33:16

标签: oracle dbms-scheduler

我正在尝试在Oracle 11g数据库中使用DBMS_SCHEDULER创建作业,但在设置作业类属性时遇到一些问题。我已经查看了SYS模式,并且有一个名为“SCHED $ _LOG_ON_ERRORS_CLASS”的作业类,只有在作业失败时才输出到日志,这是我想要的,而不是每次作业成功时都记录。这是我用来创建作业的脚本:

BEGIN
    DBMS_SCHEDULER.CREATE_JOB(
        job_name => 'DIRXML.CHECK_EVENTLOG', 
        job_type => 'STORED_PROCEDURE', 
        job_action => 'DIRXML.P_Check_Eventlog', 
        job_class => 'DIRXML.SCHED$_LOG_ON_ERRORS_CLASS',
        repeat_interval => 'FREQ=SECONDLY;INTERVAL=30', 
        enabled => TRUE
    );
END;
/

如果删除job_class属性,脚本将执行而不会出现错误,但是当我添加它时,我收到以下错误:

  

ORA-27476:“SYS.SCHED $ _LOG_ON_ERRORS_CLASS”不存在ORA-06512:   在“SYS.DBMS_ISCHED”,第124行ORA-06512:在“SYS.DBMS_SCHEDULER”,   第271行ORA-06512:第2行

我唯一能想到的是我的用户没有正确设置权限?

1 个答案:

答案 0 :(得分:2)

看起来在该特定工作类上没有公共执行授权,这解释了为什么它没有找到它。