姜运娱乐|「AWR报告」如何看懂awr中的报告摘要ReportSummary

在之前的「AWR报告」如何看懂数据库摘要(DatabaseSummary)?文章中 , 我们了解了数据库的主机数(NumberofHosts)、实例数(NumberofInstances)、快照信息(SnapshotIds)、报告总时间(ReportTotal(minutes))这些专业术语以及实际的含义 。 这里小编要再补充上一点:尽管我们可以通过数据库awr报告中报告总时间(ReportTotal(minutes))的关键参数Elapsed、DBTime以及CPU数量(NumCPUs)来估算数据库的压力情况 , 但是要考虑awr报告的抽取时间 。
姜运娱乐|「AWR报告」如何看懂awr中的报告摘要ReportSummary
文章图片
举个简单的例子 , 你的应用服务在一天的繁忙情况是不一样的 , 比如说:早上9:00-12:00是很忙的 , 而其他时间是很空闲的 。 如果对这样的一个系统做一个24小时的awr报告 , 那么awr报告可能就显示不出问题 , 因为3个小时的繁忙放在24小时 , 可能就是不繁忙的 , awr报告反而会变现得很漂亮 , 所以我们更需要抽取在繁忙时间段的awr报告进行分析 , 这样才有实际意义 。 好了 , 补充就到这里 , 我们来看今天要和大家分享的知识干货——如何看懂awr中的报告摘要——ReportSummary 。
和以前一样 , 我们先来看看报告摘要中都有哪些内容 。
1、缓存大小(CacheSizes)
AllvaluesareinMegabytesListedinorderofinstancenumber,I#EndvaluesdisplayedonlyifdifferentfromBeginvalues翻译之后大概是这样的:
所有值均以兆字节(MB)为单位按实例编号I#的顺序列出仅在与开始值不同时显示结束值
姜运娱乐|「AWR报告」如何看懂awr中的报告摘要ReportSummary
文章图片
2、MemoryTarget(内存目标)
Oracle11g引入memory_target , 可以自动调整所有的内存 , 这就是新引入的自动内存管理特性 。 MEMORY_TARGET:动态控制SGA和PGA时 , Oracle总共可以使用的共享内存大小 , 这个参数是动态的 , 因此提供给Oracle的内存总量是可以动态增大 , 也可以动态减小的 。 它不能超过MEMORY_MAX_TARGET参数设置的大小 。
【姜运娱乐|「AWR报告」如何看懂awr中的报告摘要ReportSummary】3、SgaTarget(SGA目标)
要说SgaTarget , 那么我们需要引入SGA_MAX_SIZE这个静态参数 。 对于SGA_TARGET它是可以动态修改 , 当然原则上SGA_TARGET值不能超过SGA_MAX_SIZE的值 , 如果需要调整 , 这需要在设置时添加指定参数scope=spfile,重启数据库后才能修改成功 , 在SGA_MAX_SIZE的值未设定的情况下 , 重启数据库后 , SGA_MAX_SIZE都回跟着SGA_TARGET做调整 。
姜运娱乐|「AWR报告」如何看懂awr中的报告摘要ReportSummary
文章图片
4、PGATarget(PGA目标)
为了与SgaTarget参数比对 , 更好的让大家理解 , 我们把PGATarget前面来说 。 首首先我们引入PGA_AGGREGATE_LIMIT参数 , 该参数的作用是限定了pga使用 , 防止其过量使用从而耗尽内存 。
划重点:PGA与SGA的区别 。 SGA系统全局区顾名思义 , 是对系统内的所有进程都是共享的 。 当多个用户同时连接到一个例程时 , 所有的用户进程、服务进程都可以共享使用这个SGA区 。 为此这个SGA的主要用途就是为不同用户之间的进程与服务进程提供一个交流的平台 。 除了这个作用 , 另外有一个重要的作用就是各种数据库的操作主要就是在这个SGA区内完成 。 而PGA程序缓冲区则主要是为了某个用户进程所服务的 。 这个内存区不是共享的 , 只有这个用户的服务进程本身才能够访问它自己的PGA区 。 做个形象的比喻 , SGA就好像是操作系统上的一个共享文件夹 , 不同用户可以以此为平台进行数据方面的交流 。 而PGA就好像是操作系统上的一个私有文件夹 , 只有这个文件夹的所有者才能够进行访问 , 其他用户都不能够访问 。 虽然程序缓存区不像其他用户的进程开放 , 但是这个内存区仍然肩负着一些重要的使命 , 如数据排序、权限控制等等都离不开这个内存区 。