在性能测试过程中,如果执行场景时DB数据库内存的使用率过高,通常会生成AWR报告来分析和定位问题,AWR是ORACLE 10g中新引入的一个工具,在这之前一般是用statspack。AWR会自动创建snapshot,并且定时(默认1小时一次)创建,定时清除(保留最近7天)。步骤如下:
1、登录数据库
输入sqlplus / as sysdba 登录数据库
2、查看是否启用AWR由初始化参数STATISTICS_LEVEL控制
如果为TYPICAL或ALL,表示启用AWR;如果为BASIC,表示禁用AWR
3、查看和修改快照的频率和保留时间(以下是我修改之后的每 15分钟采样一次,采样信息保留时间为 8天)
4、因为默认每小时采集一次,故为了生成特定场景执行时间段的oracle AWR报告,需手动生成快照。在测试前生成快照,执行测试,再生成快照,然后生成AWR报告。
5、执行测试
6、手动生成快照,同上
7、生成AWR报告,运行awrrpt.sql文件,或awrrpti.sql;awrsqlrpt.sql;awrsqlrpi.sql;awrddrpt.sql;awrddrpi.sql;
1) 选择输出报告格式,文本格式和HTML格式,HTML界面友好。
2) 选择列出最近几天产生的快照
3) 选择开始和结束的快照id
4) 输入HTML报告的文件名,或者使用默认的文件名,在SecureCRT中可以用log session直接将结果保存到本地
5) 等待生成完成
6) exit;命令退出
7) 查看刚刚生成的文件,ls -arl
8) 如果使用了log session则直接在本地用IE浏览器打开报告,如果没有,在$ORACLE_HOME/rdbms/admin目录下用pwd命令查看它的实际目录,再用FillZilla等工具将文件从这个目录(我这里是:/home/db/oracle/product/11.2.0/db_1/rdbms/admin)下载到本地。