目录

生成步骤:

1、使用sys用户登录数据库

2、使用awrrpt.sql 生成AWR报告

3、按照提示,输入导出脚本的类型,输入HTML

4.、这里输入的是返回几天的快照信息,这里输入1天,表示返回一天的记录

5、选择需要生成分析报告的时间点,如:需要分析16:00的sql cpu占用率,建议选择15:00-17:00的时间生成报告。

6、输入生成报告的文件名,我这里输入的是yxl.html

7、等待awr报告生成成功,成功如图:

8、exit 退出数据库窗口

9、当前目录找到生成的yxl.html报告

10、 使用sz命令下载

11、用浏览器打开报告

分析步骤

1、数据库详细信息

2、查看主机配置信息

3、快照详细信息

4、负载信息

5、影响实例百分比

6、前十后台等待事件,按照总等待事件倒序。

7、共享池统计信息

8、Time Model Statistics

9、操作系统统计信息。

10、top sql的统计信息(很重要)

11、SQL Ordered by Elapsed Time

12、SQL Ordered by CUP Time


生成步骤:

1、使用sys用户登录数据库

[oracle@mytesthost ~]$ sqlplus / as sysdba

2、使用awrrpt.sql 生成AWR报告

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

3、按照提示,输入导出脚本的类型,输入HTML

4.、这里输入的是返回几天的快照信息,这里输入1天,表示返回一天的记录

5、选择需要生成分析报告的时间点,如:需要分析16:00的sql cpu占用率,建议选择15:00-17:00的时间生成报告。

6、输入生成报告的文件名,我这里输入的是yxl.html

7、等待awr报告生成成功,成功如图:

8、exit 退出数据库窗口

SQL>exit

9、当前目录找到生成的yxl.html报告

10、 使用sz命令下载

11、用浏览器打开报告

分析步骤

1、数据库详细信息

2、查看主机配置信息

3、快照详细信息

4、负载信息

5、影响实例百分比

6、前十后台等待事件,按照总等待事件倒序。

首先我们关注“wait class”,如果是user I/O或者system I/O,这样有可能是正常的,如果”wait class”是“Concurrency”,那就可能是比较严重的问题。然后关注“total wait time(sec)”,等待的总时长,就是总的等待时长,如果total wait time很大但是wait avg很小,也不是很大问题。

7、共享池统计信息

理论上,一个长时间运行的数据库,memory usage% 应该维持在70%左右,如果这个值太小,说明我们的内存浪费了,如果memory usage% 大于90%,我们的某些PL/SQL、cursor等的运行就有可能出问题,应该考虑扩展数据库可使用内存,或者检查内存是否合理使用。

8、Time Model Statistics

详细说明系统资源使用情况,按照 db time百分比排序

总的% of DB time 可能大于100%,因为sql_execute_elapset_time可能包含hard_parse和parse的时间,所以会有大于100%的情况出现。 我们主要关注DB time消耗百分比较高的事件名称

9、操作系统统计信息。

10、top sql的统计信息(很重要)

根据执行计划中各种资源的使用情况进行列出各类资源占用最高的sql。

11、SQL Ordered by Elapsed Time

解析时间长执行次数少的,我们需要进行sql优化。

如果executions是0,说明sql正在执行时生成了AWR快照。

12、SQL Ordered by CUP Time

根据耗费cpu时间做的排序,当cpu有瓶颈时,查看或者调整相应的sql。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐