Связывание работы с классом работы - PullRequest
0 голосов
/ 23 февраля 2012

Я пытаюсь создать задание, используя DBMS_SCHEDULER в БД Oracle 11g, но у меня возникли проблемы с установкой атрибута класса задания. Я уже посмотрел в схеме 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 Ответ

2 голосов
/ 23 февраля 2012

Похоже, что не было публичного гранта на выполнение для этого конкретного класса работы, что объясняет, почему он не нашел его.

...