Oracle数据库-AWR(Automatic Workload Repository)报告获取方法

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

 

posted @ 2025-07-31 14:50  三生有幸格格  阅读(200)  评论(0)    收藏  举报