Oracle 11g中获取AWR(Automatic Workload Repository)报告,你可以按照以下步骤操作。这些步骤适用于具有适当权限的数据库用户,通常需要DBA权限。
步骤 1: 确认数据库已启用AWR
默认情况下,AWR是启用的。如果你不确定是否启用了AWR,可以执行以下查询来确认:
SELECT snap_interval, retention FROM dba_hist_wr_control;
如果AWR未启用或你想要调整快照间隔和保留时间,可以使用DBMS_WORKLOAD_REPOSITORY包进行设置。
例如,设置每60分钟采集一次快照,并将数据保留8天:
EXEC DBMS_WORKLOAD_REPOSITORY.modify_snapshot_settings(interval => 60, retention => 8*24*60);
步骤 2: 手动创建AWR快照(可选)
虽然AWR自动创建快照,但在某些情况下,你可能希望手动创建一个快照以捕获特定时间段的数据:
EXEC DBMS_WORKLOAD_REPOSITORY.create_snapshot();
步骤 3: 生成AWR报告
要生成AWR报告,首先确定你感兴趣的两个快照ID。可以通过查询dba_hist_snapshot视图找到这些ID。
然后,使用@?/rdbms/admin/awrrpt.sql命令来生成文本格式的AWR报告:
1.检查环境变量,以下以ERP的topprod数据库为例
访问服务器的权限,可以直接查看环境变量:
在Linux/Unix系统中,在命令行输入:
<topprod:/u1/topprod/tiptop> echo $ORACLE_HOME             
/u2/oracle/product/11.2.0/dbhome_1
获得?路径:/u2/oracle/product/11.2.0/dbhome_1
2.登录SQLPLUS方式
调出cmd命令行界面后直接录入
<topprod:/u1/topprod/tiptop> sqlplus system/manager@topprod
3.运行命令:@/u2/oracle/product/11.2.0/dbhome_1/rdbms/admin/awrrpt.sql
<topprod:/u1/topprod/tiptop>@/u2/oracle/product/11.2.0/dbhome_1/rdbms/admin/awrrpt.sql
系统会提示你输入:
- 快照类型:选择HTML或文本格式(通常选择HTML以便于阅读)
 - 快照间隔:指定要分析的时间段
 - 开始和结束快照ID (Snap Id间隔太长不容易分析出峰值)
 
-- html
-- 1
-- 96774
-- 96791
-- (回车使用默认名)
-- 🟡 耐心等待 10-30 秒,直到看到完整的 HTML 输出结束
完成上述步骤后,Oracle将生成并显示AWR报告。
步骤 4: exit退出SQLPLUS,在当前目录下查找生成的数据,下载到本地用浏览器打开分析。
<topprod:/u1/topprod/tiptop> ll *.html -rw-rw-r-- 1 tiptop tiptop 745118 Jul 31 13:24 awrrpt_1_96789_96791.html <topprod:/u1/topprod/tiptop> sz awrrpt_1_96789_96791.html
