【问题标题】:Oracle ash report甲骨文灰分报告
【发布时间】:2012-03-23 04:42:42
【问题描述】:

最近,我收到了 DBA 的ash report

对我来说,这份报告就像是法语。我不知道它是关于什么的,也不知道这份报告中写了什么。有人可以指导我阅读它并解释我应该采取哪些步骤来使我的查询稳定并减少 CPU 消耗。此外,哪个查询占用更多 CPU。
1. 请推荐我应该执行哪些操作。
2. 哪个查询占用了我的 CPU 更多,我应该如何改进它。

【问题讨论】:

标签: sql oracle database-design oracle11g query-optimization


【解决方案1】:

ASH(活动会话历史)报告显示了数据库在一段时间内发生的事情。

SQL with Top Events 显示,例如,第一个查询消耗了 31% 的时间。 SQL ID 列可以链接到Complete List of SQL Text 使用的是:

select some_giant_list_of_columns
  from VU_PERSON_MINI
 where lower (person_id) = ?

Top SQL with Top Row Sources 中的同一条语句表示它正在执行全表扫描 (TABLE ACCESS = FULL)。

我怀疑 VU_PERSON_MINI 上的 LOWER(PERSON_ID) 上没有基于函数的索引。添加一个或修复潜在问题(这是一个数字列吗?您可以在应用程序中强制它始终以小写形式存储)应该有助于提高性能。

此外,该查询中存在direct path read 事件有些麻烦。这通常表明对磁盘的排序活动 - 或者您正在读取 LOB 数据。您的意思是成为该 SQL 的一部分吗?

【讨论】:

  • “31% 的时间”占多少百分比? 31% 的时间花在等待事件上?报告中经过时间的 31%?谢谢
  • 整体活动的 31%,因此它既不是等待时间的 31%,也不是报告中已用时间的 31%。而这 31% 进一步细分为direct path readsCPU + Wait for CPU
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-05
  • 2011-07-19
  • 2014-09-11
相关资源
最近更新 更多