1.AWR是什么
AWR全称Automatic Workload Repository,自动负载信息库,一堆历史性能数据,放在SYSAUX表空间上,提供了一个时间段内整个系统的报表数据。通过AWR报告,可以分析指定的时间段内数据库系统的性能。
Oracle12c以后,有了CDB和PDB的概念,Oracle是可以分CDB和PDB来收集各自的AWR报告的, 如果CDB 环境有多个PDB,那么如果收集的是整个CDB 的AWR报告,
那么该报告也是包含所有PDB的数据,无法准确分析是哪个PDB 导致的性能问题。 所以对于多PDB的情况下,建议是按PDB 来收集AWR报告。
2.生成AWR报告的步骤
1.如果需要最新的AWR报告,需要生成数据库的最新快照,没有快照生成AWR报告是会报错的
生成快照语句: call DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
2. 在sqlplus或者plsql使用命令,生成awrrpt报告
sqlplus登录后执行以下步骤
sqlplus / as sysdba
@?/rdbms/admin/awrrpt.sql 这是CDB的AWR报告 包含了所有PDB 如果要导出PDB自己的AWR报告,先切换session到PDB自己,然后生成PDB自己的快照,使用一样的导出语句,后面选择 AWR_PDB
或者 @$ORACLE_HOME/rdbms/admin/awrrpt.sql
输入要生成报告的文件格式
Type Specified: html
输入要生成报告相隔的天数
Enter value for num_days: 1
输入相隔的快照之间的Snap Id开始号和结束号 (select * from dba_hist_snapshot order by snap_id 查询数据库的快照记录)
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 101
Enter value for end_snap: 102
End Snapshot Id specified: 102
输入生成报告的名字:
Enter value for report_name: awr.html
查看awr报告方式:
生成报告后,退出sqlplus,文件存储在当前目录下scp拷贝到电脑上查看;或者打开linux自带浏览器,输入目录
home/oracle/ awr.html