Почему задание DBMS_Scheduler не удалось? - PullRequest
1 голос
/ 14 декабря 2011

Я написал одну процедуру и одну работу. С работы бегаю процедуру. Ниже приведен скрипт для создания задания

DBMS_SCHEDULER.create_job  (job_name  => 'IBPROD2.RUN_FETCH_ACCT_ALERTS',
job_type        => 'STORED_PROCEDURE',
job_action      => 'FETCH_ACCT_ALERTS',
start_date      => sysdate,
repeat_interval => 'FREQ=HOURLY;INTERVAL=2;',
enabled         => TRUE,
auto_drop       => FALSE
);

После создания задания я запускаю следующую команду, чтобы получить сведения о задании для владельца IBPROD2, где я вижу значение столбца fault_count как 1 для задания RUN_FETCH_ACCT_ALERTS. Нет проблем в процедуре FETCH_ACCT_ALERTS, когда я запускаю ее вручную.

Может ли кто-нибудь помочь мне понять, почему работа проваливается? Я что-то упустил?

1 Ответ

8 голосов
/ 14 декабря 2011

Запрос представления ALL_SCHEDULER_JOB_RUN_DETAILS (или, возможно, эквивалент DBA).

select *
from all_scheduler_job_run_details
where job_name = 'IBPROD2.RUN_FETCH_ACCT_ALERTS'

Вас особенно заинтересует error#, который даст вам номер ошибки Oracle, который вы можете посмотреть.Кроме того, в столбце additional_info может содержаться дополнительная информация.


Код ошибки означает this :

ORA-28179:имя пользователя клиента не предоставлено прокси-сервером
Причина: пользователь-посредник не предоставил имя пользователя для пользователя клиента.
Действие: Укажите либо имя пользователя базы данных клиента, различающееся имя, либо сертификат X.509.

Так что это как-то связано с настройкой вашей безопасности.Проверка подлинности не удалась по причине.Поскольку мне не хватает подробных знаний о вашей архитектуре (и я не специалист по безопасности), я не могу вам помочь.

Поскольку я уже создал много заданий для запуска разных процедур с одним и тем же владельцем.Все успешно работают.

Так чем же эта процедура отличается от всех остальных?

...