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

Oracle 影响数据库操作的DBMS_SYSTEM.ksdwrt。

ASKTOM 2020-07-25
671

问题描述

嗨,团队,
最近,我们面临性能下降的情况,这影响了应用程序的整体运行。
根据awr报告,proc需要3或4秒以上才能完成。让我们称之为 “a”。
在addmrpt中,我们得到了一个类似于下面给出的语句:
调整类型的入口点PL/SQL 'A'
“程序”。请参阅PL/SQL文档
加法信息。
基本原理
执行类型的PL/SQL “SYS.DBMS_SYSTEM.KSDWRT” 花费7821秒
“包”。

我们专注于proc 'A',因为当定期调用此proc (每一两秒) 时,性能下降就会发生。
但是这个proc几乎把所有的时间都花在执行SYS.DBMS_SYSTEM.KSDWRT上。我们从awr和addm报告中推断出了这一点。

由于SYS.DBMS_SYSTEM.KSDWRT未记录在案,因此我们无法获得有关此过程内部工作方式的任何信息。

我的疑惑如下:

1) SYS.DBMS_SYSTEM.KSDWRT如何管理访问alert.log?
2) 是否使用任何oracle后台进程访问此日志?
3) multipe会话可以同时写入日志还是在那里发生等待?
4) 写入日志是否会影响其他DML操作?

专家解答

那是一个正在调用DBMS_SYSTEM的Oracle PLSQL例程吗?还是您自己的PLSQL例程之一?

如果是后者,那么... 良好的 ....你在这里有点像你自己,因为它是一个没有证件的包,所以它伴随着承担这种风险的所有好处和坏处。

但是写入警报日志本质上不是一件可扩展的事情,因为我们打开文件,写入文件,然后每次都将其关闭。这就是为什么您可以随时在Windows下打开它,而不会收到熟悉的 “此文件正在使用中” 错误的原因。

底线-编写警报日志不应该是您日常活动的一部分,如果Oracle内核中有什么东西在做,那么可能是时候记录支持电话了。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论