【问题标题】:Why DBMS_Scheduler job failed?为什么 DBMS_Scheduler 作业失败?
【发布时间】:2012-01-20 02:54:10
【问题描述】:

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

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 时没有问题。

谁能帮我解释一下为什么工作失败了?我错过了什么吗?

【问题讨论】:

    标签: oracle dbms-scheduler


    【解决方案1】:

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

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

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

    那么这个过程与其他的有什么不同呢?

    【讨论】:

    • 感谢您的回复。错误代码是 ORA-28179:代理未提供客户端用户名。但我不知道如何解决它。你有什么主意吗?因为我已经创建了许多工作来与同一所有者运行不同的程序。全部运行成功。
    猜你喜欢
    • 2014-11-24
    • 2018-02-17
    • 2012-01-20
    • 2016-03-18
    • 2018-02-01
    • 2012-05-09
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多