查看 DBMS 作业日志 oracle

Posted

技术标签:

【中文标题】查看 DBMS 作业日志 oracle【英文标题】:View the DBMS jobs log oracle 【发布时间】:2014-02-24 08:55:12 【问题描述】:

我在 DBMS 作业(不是 DBMS 调度程序)中安排了一个作业。我可以看到工作在周末失败了。我想查看失败原因的日志文件。我在哪里可以找到这个?

有什么建议吗?

提前致谢。

【问题讨论】:

AFAIK,数据库本身没有信息可用于使用 DBMS_JOB 包的作业。您必须按照 CorradoPiola 的建议查看文件系统。这是您应该改用 DBMS_SCHEDULER 的众多原因之一。 是的,弗兰克是对的! DBMS_SCHEDULER 真的更好... @Frank...嗨,弗兰克,从 DBMS 作业迁移到 DBMS 调度程序必须得到高级管理层的批准。不幸的是,我无法对此做出决定,所以我现在必须从事 DBMS 工作.. 【参考方案1】:

对于 DBMS_SCHEDULER(如 Frank Schmitt 所述),请尝试以下操作:

SELECT *
FROM DBA_SCHEDULER_JOB_RUN_DETAILS
ORDER BY LOG_DATE DESC;

然后在您的 bdump 文件夹中查找跟踪文件。

对于 DBMS_JOB,您可以查看警报日志文件:

SELECT VALUE
FROM V$PARAMETER
WHERE NAME = 'background_dump_dest';

SELECT VALUE
FROM V$SPPARAMETER
WHERE NAME = 'background_dump_dest';

如果您的数据库名称是默认的“orcl”,则警报日志文件的名称类似于“alert_orcl.log”。

【讨论】:

那是 DBMS_SCHEDULER,不是 DBMS_JOB。 是的,没错。问题是 DBMS_JOB... :( 对于这个包,您可以查看警报日志文件... 您好...感谢您的回复。但是你告诉我怎么去这个警报日志文件。 我更新了我的答案,以反映弗兰克施密特所指出的内容......再次感谢弗兰克...... 抱歉 Piola...这个解决方案不走运【参考方案2】:

对于 DBMS_JOB,您会在数据库警报日志中看到有关失败作业的信息。在那里,您还会看到跟踪文件的名称,其中包含有关失败的更多信息。

【讨论】:

【参考方案3】:

迟到的答案,但我认为这将有助于人们在此页面上寻求解决方案。 在进入日志详细信息进行调试之前,您需要启用日志记录。 默认情况下,日志记录被禁用。

以下是启用日志记录的选项:

Logging Level    DBMS_SCHEDULER.LOGGING_OFF
DBMS_SCHEDULER.LOGGING_FAILED_RUNS DBMS_SCHEDULER.LOGGING_RUNS
DBMS_SCHEDULER.LOGGING_FULL

现在,您可以设置属性来更新日志记录级别:

begin     
DBMS_SCHEDULER.SET_ATTRIBUTE('job_name','logging_level',DBMS_SCHEDULER.LOGGING_FULL);
end;

【讨论】:

您很可能会混淆 Oracle 数据库中存在的两种不同的作业运行方式 - DBMS_SCHEDULER 和 DBMS_JOB。

以上是关于查看 DBMS 作业日志 oracle的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 dbms_scheduler 在 oracle 中禁用作业

dbms_job / Oracle 作业调度程序

Oracle-DBMS 作业调度程序更改开始时间

将 pl sql 异常错误写入 DBMS_OUTPUT 和 FND_FILE 作业日志

ORACLE:DBMS Jobs 数据库连接

安排 Oracle 作业