1

如何创建 Oracle 自动工作负载信息库 (AWR) 报告?

4

3 回答 3

2

要生成 AWR 报告,请按照以下步骤操作:

  1. 获取开始快照 ID

    设置服务器输出;声明 v_snap_id 编号;开始 v_snap_id := DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT; dbms_output.put_line(v_snap_id); 结尾; /

  2. 运行您的批处理或您要监控的程序。

  3. 获取结束快照 ID

    设置服务器输出;声明 v_snap_id 编号;开始 v_snap_id := DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT; dbms_output.put_line(v_snap_id); 结尾; /

  4. 转到 oracle 目录。例如在我的情况下

    cd C:\oracle\app\oracle\product\11.2.0\server\rdbms\admin

  5. 转到 sqlplus 提示

    sqlplus dbusername/dbpassword@host:port/dbenv

  6. 运行@awrrpt命令

  7. 它将询问报告的格式,默认为 html。

  8. 如果您不记得自己的 snap id,请提供天数

  9. 输入开始捕捉

  10. 输入结束快照

  11. 给出报告名称并按 Enter

您的报告将在“管理员”中生成,例如在我的情况下

C:\oracle\app\oracle\product\11.2.0\server\rdbms\admin

于 2017-06-29T07:18:01.617 回答
1

sqlplus 以 DBA 用户身份进入 Oracle。运行报表sql。回答报告提示的问题以缩小时间段

sqlplus / as sysdba
@$ORACLE_HOME/rdbms/admin/awrrpt.sql

该脚本将询问您一些问题,以便您获得您感兴趣的时间段的报告。

于 2017-06-02T18:16:15.613 回答
1

您可以使用dbms_workload_repository包而不需要登录到服务器本身。

对于文本报告,请使用例如:

select output 
from table(dbms_workload_repository.awr_report_text(1557521192, 1, 5390, 5392);

或者要获取 HTML 报告,请awr_report_text()改用。

第一个参数是可以使用以下方式获得的 DBID:

select dbid from v$database

第二个是实例编号。仅与 RAC 环境相关。

最后两个参数是开始和结束快照的 ID。可以使用以下方法获取可用的快照:

select snap_id,
       begin_interval_time
       end_interval_time
from dba_hist_snapshot
order by begin_interval_time desc;

特别是对于返回 CLOB 的 HTML 返回,您必须配置 SQL 客户端以正确显示输出。在 SQL*Plus 中,您将使用set long

于 2017-06-03T06:16:04.297 回答