【问题标题】:Oracle database "log file sync" wait eventOracle 数据库“日志文件同步”等待事件
【发布时间】:2022-01-18 06:22:03
【问题描述】:

我们的生产数据库出现问题,被阻止的会话突然飙升几分钟,一切都停止工作。查看被阻止的会话历史记录,我可以看到日志写入进程 (LGWR) 导致了大部分阻止,并且 ADDM 报告显示以下内容。

在执行 COMMIT 和 ROLLBACK 操作时等待事件“日志文件同步” 消耗了大量的数据库时间。

有没有办法找出哪些会话在一段时间内导致大量提交,从而导致 LGWR 在写入重做日志文件时阻止其他会话?

请注意,我们已经将重做日志文件移动到单独的磁盘并重新启动了数据库,这已经改善了一些情况,但我们正在努力寻找哪些 SQL 或 PL/SQL 代码不时导致过度提交,从而导致 LGWR搞砸了。

谢谢。

【问题讨论】:

    标签: database oracle commit disk redo


    【解决方案1】:

    查看 LGWR 进程的 v$active_session_history 以了解它遇到了什么问题。如果它像“日志文件并行写入”之类的东西,那么它很可能是一个 I/O 问题。但是,LGWR 本身可能就是这里的“受害者”——它可能出于某种原因正在等待另一个后台进程。

    【讨论】:

    • 谢谢。似乎 LGWR 本身被具有等待事件“日志文件并行写入”的 LG00 阻止。似乎是一个 I/O 问题,但不确定它是如何在最近没有对数据库或应用程序进行更改时突然开始的。必须检查“dba_hist_active_sess_history”,因为 v$active_session_history 没有任何用处。
    • 仍然 - 有什么方法可以找出导致 LG00 进入并行写入等待事件的如此多提交的原因?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    • 2018-05-12
    相关资源
    最近更新 更多