0

我正在尝试在 Oracle 11g DB 中使用 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 行

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

4

1 回答 1

2

看起来那个特定的工作类没有公开的执行授权,这就解释了为什么它没有找到它。

于 2012-02-23T19:47:03.033 回答