The Layman’Microsoft的AWR术语指南

正如我经常在Microsoft在日常工作中使用的自动工作负载存储库(AWR)数据一样,我认为大多数人可以想象我的解释其价值的频率以及跟踪我的Microsoft Peeps。它是时候写一篇致力于微软人群的帖子,他们想要了解一下关于架子的一点,所以希望它有用!

什么是自动工作负载存储库?

自动工作负载存储库(AWR)自Oracle 10g以来一直存在,并且需要诊断和调整管理包许可以在Oracle中使用其所有功能’S企业版数据库。 10.2.0.4之前的版本有限的集合与现代报告架构和Oracle的每个后续版本都添加到它’S内容,其解释了存储在Sysaux表空间中对象的对象中的尺寸增加。

默认情况下,自版本11.2.0.4开始,AWR保留为8天,每小时拍摄一次自动快照。它’对于DBA来说,该保留至少31天的常见才能捕获一个月的工作负载信息,然后可以使用这些快照标识符来识别用于查询和报告的工作负载间隔。 Oracle也可以配置为减少快照之间的间隔来更改AWR报告的粒度,或者我的首选项,DBA或特权用户可以采用手动快照来识别期间的重要开始​​或结束。

AWR. 在其自己的缓冲区中存储其缓存数据,可以通过V $视图查询,然后将缓冲区已满或发出间隔提交后,存储值,围绕性能和聚合信息写入必要数据在sysaux表空间中的dba_hist对象。还保留在此存储库中是来自活动会话历史(ASH)的样本。 AWR每十个灰样本保留一个,也使用AWR数据来生成自动数据库诊断监视器(ADDM)报告,SQL监视器和基准报告。

在尝试与SQL Server或Azure SQL的比较时,它’最接近查询商店和动态管理视图,放入存储库中,具有广泛的打包报告和内置的实用程序。数据收集指标,延迟信息,性能数据和顾问建议,以及历史汇总。数据是作为Oracle的一部分生成的,但随后携带在存储库中,以向DBA提供令人难以置信的值。如果您想在AWR上获得低下,包括架构,这 slide deck 可以提供一些伟大的历史和深入了解它周围的存储库和产品。

那么如何使用这些报告,以及如何以行业队的术语解释它们?

awr- 360全景视图

虽然一小时的报告可以提供令人难以置信的价值 - 但我的团队使用了这份报告,以收集Oracle数据库环境的整体工作量,通常为7天。本报告中包装的信息量提供了从关于数据库的基本事实中的所有内容:

  • 资源分配,(服务器内存,CPU,数据库内存,IO,网络等)
  • 通过经过的时间,CPU,IO等顶级SQL
  • 等待活动统计
  • 参数设置,(think sp_configure)
  • 顾问建议书

真实应用程序集群(RAC)数据库有特定的报告版本,将来自每个节点的数据组合到单个报告,包括全局高速缓存(GC)关于RAC节点之间的互连性和性能的信息。作为Exadata工程系统存在类似的版本,该系统提供了关于单元格节点的所有此类和信息,包括IO和闪存存储节省。

许多人最大的挑战之一是报告的格式已经改变了版本以及如何呈现数据。在Oracle 12c中,他们开始将一些输出限制在报表的文本版本中,因此它’总是最好地要求HTML版本,它从Linux服务器命令行中杀死了我的查看它。最大的挑战是如果您对11G单实例报告进行了舒适,则Exadata 12c报告可能是一点信息过载,即使是Oracle DBA。

我有一些关于挖掘AWR报告的博客文章,因为它们真的是一种作为艺术的科学,因为某些数据将导致您在不同的情况下导航报告。一世’ve试图将其中一些帖子链接在这里,虽然它们来自我以前的Oracle中的工作,但它们’对那些新的人来说仍然有价值。

那么如果在Azure SQL / SQL Server中真的,您应该如何考虑AWR报告。想想它就像一个全景图片。

您可以获得数据库中的一切景致。很高兴查看数据库的整体健康,资源使用和注意到任何红旗。我用它们来大小Oracle数据库,包括RAC和Exadata到Azure IAAS VM。他们给了我所需的信息,即正确地执行此任务,准确地尺寸工作负载VS只是转换当前的硬件。I’能够在迁移时找到事先提前解决的任何问题,并知道是否有任何资源迁移不足。

使用全景示例,如果需要放大图片的特定区域,那么全景会成为拍摄它的最佳方式吗?可能不是,这是存储库的其他部分和报告如何在AWR中发挥作用。如果您想了解更多关于AWR报告的信息,请查看此前进的幻灯片甲板 AWR. / ASH的历史 并且知道自编写以来,有新功能已添加,即我很快更新!

灰 报告:iOS Live Pic甚至是Oracle的游戏中时光倒流

与AWR的其他部分不同,活动会话历史(ASH)有自己的背景流程收集信息。会话信息被存储为样本,随着样本可以及时重叠,它们永远不应该用于计数执行等等。它所提供的东西,您可以很好地了解当时正在发生影响的时间发生的事情颗粒水平。

由于ASH ISN依赖于开始和结束快照,而是使用这些样本,可以从小时间间隔创建报告,允许在发生时诊断性能问题。在这种方式使用时,报告最佳工作最佳,如果患有数小时或几天的灰烬报告,如果曾经提供价值则。

灰 报告将包括顶级会话,SQL语句,模块和程序呼叫,但如果存在阻塞会话,则发生了哪些并行处理,并由报告中涉及的样本等待顶部事件的故障。

如果您认为ASH报告作为iOS Live Pic或时间失效与AWR报告全景视图,则图片覆盖了较少的区域,但恰好显示了发生的事情。

与IOS Live Pic一样,您可以扩展窗口,但多次,只是小的一片时间可以提供所需事件中发生的主要会话的移动窗口。

如果您想了解更多关于Ash的信息,请退房 这个帖子 .

甲骨文 跟踪:Oracle的Gopro

有很多不同的会话追踪级别可以完成,但轨迹的荣耀是您可以从会话级别遇到进程并通过从头到尾跟踪它。它与GoPro电影更相似,您可以体验到旅程需要多长时间,在旅途中的每一步上花费什么时间以及从过程的观点来看发生了什么。您可以查看可能对用户遗漏或透明的细节:

这包括任何触发器,内置于过程中的逻辑等。所有捕获和时间被评估为执行这些操作,然后写入跟踪文件。然后,该文件可以转换为一个报告,以将作为数据库进程的一部分从会话的关闭捕获的每个步骤。

挖掘是我的进入代码逻辑时的Go-the,当从数据库级别报告中挖掘时,不清楚应用程序完全究竟是什么,或者当存在耗时时间的其他进程时。

需要了解更多关于跟踪的信息,查看这篇伟大的帖子 蒂姆霍尔 , 因为我只写了一个专注于em13c- 以前的帖子 .

AWR. SQL ID特定报告:关闭?Ânah…

当特定的SQL语句显示为AWR或ASH报告中的红色标志时,我有一个其他最喜欢的报告’d类似于在时间窗口期间SQL发生的事情的更多信息。 AWR SQL ID特定报告(AWRSQRPT.SQL)可以从命令行运行或收集在云控制内(AKA OEM)。此报告就像一个迷你AWR报告,但只是为了SQL语句。它需要开始和结束快照ID,就像AWR一样,但它也希望SQL语句的唯一标识符,也称为SQL_ID。

它提供了不同执行的执行计划和辅助性能信息,(通过不同的SQL_ID / HASH_PLAN_VALUES,在报表窗口期间执行的,认为SQL Server中的事务ID)。我可以决定它是什么样的图片,因为它不是’全景,但它’s not an ASH, as it’s snap_id依赖和它’不像痕迹,因为它’在会话之外,但专注于一个SQL语句以及它是如何表演的。可能更像是这样的:

或者,类似于此多个执行,一个SQL ID,但两个不同的哈希值:

无论你是如何看待它,它是一份很棒的报告,我有关于它的详细信息 在这里发布 如果你感兴趣。

希望这有用或至少有趣!

dbakevlar.

http://about.me/dbakevlar