
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
如何生成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的信息别忘了在本站进行查找喔。
香港服务器首选树叶云,2H2G首月10元开通。
树叶云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/188599.html<