为什么DBMS_Scheduler作业失败?

时间:2011-12-14 10:06:42

标签: oracle dbms-scheduler

我写了一个程序和一个工作。 从工作我正在运行程序。以下是创建作业的脚本

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的作业详细信息,其中我可以看到RUN_FETCH_ACCT_ALERTS作业的failure_count列值为1。 手动运行时,程序FETCH_ACCT_ALERTS没有问题。

任何人都可以帮助我解决工作失败的原因吗?我错过了什么吗?

1 个答案:

答案 0 :(得分:8)

查询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证书。

因此,这与您的安全设置有关。身份验证失败是有原因的。由于我缺乏对您的架构的详细了解(而且我不是安全专家),我无法帮助您。

  

因为我已经创建了许多工作来运行不同的程序   与同一所有者。一切都运行成功。

那么这个程序与其他程序有何不同?