【问题标题】:How to trace errors logs of the Stored Procedure in PROD environment?PROD环境下如何追踪存储过程的错误日志?
【发布时间】:2015-12-30 10:01:31
【问题描述】:

我不是 Oracle DB 方面的专家。但我很想知道,当特定存储过程执行时,我们如何检查它的日志。

我检查了跟踪文件夹,但我不知道我必须如何分析以及分析哪个文件。

当我检查 UNIX 日志时,它显示超时错误。似乎它没有得到程序之一的响应。 2-3 小时后,它会被处理,有时会被处理。它应该在最多 30 分钟内完成这项工作。我不确定 DB 是罪魁祸首还是 WEB SERVER (WAS)。

在极端情况下,我要求重启 DB 和 WAS,这解决了我们的问题。

是否可以追踪问题?我在生产环境中。这不是 UAT 或 SIT 环境中的行为 这可能是 WAS 或 DB 方面的问题吗?请对此有所了解。

谢谢

【问题讨论】:

    标签: oracle stored-procedures oracle11g websphere-7


    【解决方案1】:

    我认为您想要的是DBMS_TRACE 您必须在会话中启用跟踪并手动执行该过程。

    如果偶然,ORACLE 调度程序正在执行此过程,您可能会在警报日志中找到一些信息。我建议无论如何都要检查一下。

    如果过去的程序在 30 分钟内运行,现在需要 2 小时才能完成,并且如果没有对其进行任何更改,则问题不在程序中。

    我建议您检查不可用的索引、重做日志切换、阻塞会话、表锁等。如果不知道该过程,很难确切地说出来。你说这是一个生产环境。 DBA 肯定必须有一些性能监控。如果您碰巧让 Oracle Enterprise Manager 去查看执行过程时发生的情况。

    【讨论】:

    • 感谢您的回复。我明天将检查上述方法并更新!该问题不会在任何其他环境 UAT 或 SIT 中复制,最糟糕的是没有专门的 DBA。
    • 另外,我已经在一定程度上改变了这个问题。请看看你是否可以给我建议
    • 好吧,如果它不能在 SIT 和 UAT 上复制,那真的没有任何意义。这些环境通常包含的数据少于 PROD。不可用的索引也不会在其他环境中显示问题。我看到你已经添加了 WAS。好吧,如果是给你超时,那么它肯定会显示在 WAS 日志中。我认为 WAS 不会导致执行延迟 1.5 小时,这对我来说似乎是数据库问题。这更常见。
    • 您能否检查SELECT * FROM DBA_INDEXES(或执行该过程的用户下的ALL_INDEXES)并与相关过程使用的表进行交叉引用。另外请检查警报日志并确保其中没有列出问题。
    • 在 PROD 中使用 DBMS_TRACE 安全吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 2011-05-09
    • 2011-01-31
    • 1970-01-01
    • 2013-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多