为什么DBMS_Scheduler作业失败?

Pri*_*iya 1 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
);
Run Code Online (Sandbox Code Playgroud)

创建作业后,我正在运行以下命令来获取所有者IBPROD2的作业详细信息,其中我可以看到RUN_FETCH_ACCT_ALERTS作业的failure_count列值为1.手动运行时,程序FETCH_ACCT_ALERTS没有问题.

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

APC*_*APC 8

查询ALL_SCHEDULER_JOB_RUN_DETAILS视图(或者可能是DBA等效视图).

select *
from all_scheduler_job_run_details
where job_name = 'IBPROD2.RUN_FETCH_ACCT_ALERTS'
Run Code Online (Sandbox Code Playgroud)

您会特别感兴趣的是,error#它会为您提供一个可以查找的Oracle错误号.此外,该additional_info列可能还有一些其他信息.


错误代码意味着:

ORA-28179:代理未提供的客户端用户名
原因:代理用户未为客户端用户提供用户名.
操作:指定客户端数据库用户名,可分辨名称或X.509证书.

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

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

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