Linux系统下如何提取AWR报告? (linux下取awr报告)

AWR(Automatic Workload Repository)报告是一种数据库性能分析工具,可以帮助管理员了解数据库的运行状况,发现潜在的性能问题,并进行相关的优化处理。在Linux系统下,提取AWR报告是非常重要的一项工作,但是很多Linux管理员可能不熟悉这个过程。本文将介绍如何在Linux系统下提取AWR报告,并且分析一些常见问题。

一、设置AWR报告的收集间隔和保留时间

在操作提取AWR报告之前,我们需要先检查一下AWR报告的收集间隔和保留时间是否正确,以便我们能够得到最精确的报告。查看AWR报告的收集间隔和保留时间的方法如下:

1. 查看AWR的收集间隔:

使用SQL语句查询AWR的收集间隔:

“`

SELECT extract(hour from snap_interval), extract(minute from snap_interval)

FROM dba_hist_wr_control;

“`

2. 查看AWR的保留时间:

使用SQL语句查询AWR的保留时间:

“`

SELECT extract(day from retention), extract(hour from retention),

extract(minute from retention) FROM dba_hist_wr_control;

“`

如果当前的收集间隔和保留时间不太合适,我们可以使用以下语句修改:

“`

exec dbms_workload_repository.modify_snapshot_settings(retention_time=>1440,

interval=>60);

“`

其中,retention_time指的是保留时间(以分钟为单位),interval指的是收集间隔(以分钟为单位)。

二、创建AWR报告

1. 使用AWR报告命令创建AWR报告

AWR报告可以通过以下命令手动创建:

“`

$ORACLE_HOME/bin/sqlplus “/ as sysdba”

SQL> @?/rdbms/admin/awrrpt.sql

“`

执行上述命令后,系统将提示您输入需要创建报告的起始时间和结束时间。您可以根据需要指定起始时间和结束时间,也可以按回车键使用默认的时间。

如果需要将AWR报告输出到文件中,可以使用以下命令:

“`

$ORACLE_HOME/bin/sqlplus “/ as sysdba”

SQL> spool /tmp/awr_report.html

SQL> @?/rdbms/admin/awrrpt.sql

SQL> spool off;

“`

2. 在Oracle Enterprise Manager中创建AWR报告

除了使用AWR报告命令创建AWR报告,您还可以在Oracle Enterprise Manager中创建AWR报告。步骤如下:

a. 登录Oracle Enterprise Manager控制台。

b. 点击”Performance”选项卡,然后选择”AWR”。

c. 在“AWR报告”页面中,选择需要创建报告的时间范围,然后单击“生成报告”按钮。

三、分析AWR报告

创建AWR报告后,我们可以通过分析报告来识别性能瓶颈,优化数据库性能。下面列出了一些经常要关注的指标。

1. CPU使用率

通常来说,CPU使用率高的时候,说明系统资源不足,需要升级服务器或者调整系统参数。在AWR报告中可以查看CPU使用率,例如:

– 查看CPU使用率

在AWR报告中,在“Load Profile”部分中查看“%CPU”和“%User CPU”。

 

2. 慢SQL语句

慢SQL语句通常会对系统性能产生非常大的影响,需要及时找出并解决。

– 查看慢SQL语句

在AWR报告的“SQL Section”中查看Top SQL statements,查看执行时间、等待时间和IO次数等指标。

 

3. 等待

等待通常是由于数据库资源瓶颈导致的,需要找出导致等待的原因。常见的等待事件包括IO等待、锁等待和CPU等待。

– 查看等待事件

在AWR报告的“Instance Activity Stats”部分中查看等待事件的数量和等待时间,分析等待事件的原因并解决。

4. 内存使用率

内存使用率高的时候,可能存在内存泄漏等问题,需要及时解决。

– 查看内存使用率

在AWR报告中,在“Memory Statistics”部分中查看内存使用率和内存分布的情况,确定是否存在内存泄漏等问题。

通过分析AWR报告,我们可以得到数据库的整体性能状况,并找到需要改善的地方,为后续数据库优化提供支持。

相关问题拓展阅读:

如何生成Oracle AWR报告

这是之前我回答他人这个问题的步骤,按照这个步骤就可以生成了

如何每天从awr抓取top sql

AWR的数据主要有两部分组成:1)保存在内存中的系统负载和性能统计数据,主要通过v$视图查询 ;2)mmon进程定期以快照(snapshot)的方式将内存中的AWR数据保存到SYSAUX表空间中,主要通兄激芹过dbA_*视图访问。1. AWR快照的生成默认情况下,每隔一小时自动产生一个快照,保存最近7天的信息,可以通过以下语句查询:sql>select SNAP_INTERVAL,RETENTION from dba_hist_wr_control;SNAP_INTERVALRETENTION–+:00:00.+:00:00.0可以通过以下语句修改时间间隔和保存时间(以分钟为单位):exec dbms_workload_repository.modify_snapshot_settings(interval => 30, retention = > 10*24*60);也可以根据需要随时手动生成快照:exec dbms_workload_repository.create_snapshot;2. AWR报告的生成以sysdba运行如下命令:@?/rdbms/admin/awrrpt.sql3. AWR报告的分析策略因为AWR报告非常长,不可能从头到尾一字不漏的去看,要有选择的去看重点部分。更好能对照的来读,即和系统正常情况下的AWR报告对比,找差异。AWR报告采用总分的形式,前面是系统的整体情况,后面是各个部分细节,一开始不要陷入细节,先分析系统的整体状况,对于后面的专题分析,要根据关注点的不同,采取跳跃式分析铅尺。还要根据具体业务的不同,决定某种现象是否正常。系统整体状况方面1)Load Profile:分析系了解系统整体负载状况,如每秒中的事务数/语句数,每秒/每事务物理读写次数(Physical Reads/Writes), 逻辑读写次数(Logical Reads/Writes),sql语句的解析(Parse),特别是硬解析次数等。2)Instance Efficiency Percentages:各指标都应接近100%,除了:execute to parse (70%以上)和parse cpu to parse elapsed。如果不符合,基本可以确定系统存在性能问题;但是如果反过来,即都符合,也不能说明系统完全正常,还要看实际情况。具体状况方面1)Top 5 Timed Events:这里列出消耗时间最多的5个等待事件,每种等待说明,都表示一种原因,如:db file sequential read表示按索引访问出现等待,db file scattered reade表示全表扫描访问出现等待事件。2)Top N sql:根据时间消耗,内存消耗,物理I/O等排序,对相关sql分析执行计划3)如果是rac环境,需要特羡毕别关注rac Statistic中的相关指标4)sga pga分析5)分析表空间、数据文件I/O

linux下取awr报告的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux下取awr报告,Linux系统下如何提取AWR报告?,如何生成Oracle AWR报告,如何每天从awr抓取top sql的信息别忘了在本站进行查找喔。


数据运维技术 » Linux系统下如何提取AWR报告? (linux下取awr报告)