暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 当天的第一笔交易总是最慢的

askTom 2017-08-30
375

问题描述

嗨,大师们,

我们使用一个屏幕来更新具有某些值的基础表。一天中的第一笔交易总是最慢的,需要20分钟。第二笔交易在一两分钟内完成。这是一家银行,我们不会反弹DB。我不确定我需要提供哪些详细信息来继续进行此调查。如果你能给我指出正确的方向 -- 在哪里看,找什么,我会提供细节。
非常感谢。

问候,
Sri

专家解答

你需要跟踪会话,看看它在做什么。

如果您能够预先识别第一个事务的会话id,则可以通过调用来跟踪此会话:

exec dbms_monitor.session_trace_enable(session_id =>, serial_num=>, waits=>true, binds=>false);
复制


然后,一旦事务完成,停止跟踪:

exec dbms_monitor.session_trace_disable(session_id =>, serial_num=>);
复制


然后找到日志文件,并用tkprof进行分析。

如果您无法提前识别会话,则可以启用对特定客户端ID,服务或整个数据库的监视:

http://docs.oracle.com/database/122/ARPLS/DBMS_MONITOR.htm#ARPLS091

这将跟踪所有匹配的会话。因此,在尽可能短的时间内执行此操作,因为它会为您的数据库增加额外的开销。好处是您也将捕获一些 “快速” 交易。这使得比较不同之处并找到根本原因变得容易。

一旦获得这些详细信息,如果您需要进一步的帮助,请在后续报告中发布您的发现。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论